Coverage for website/models/AuthorModel.py: 95%

19 statements  

« prev     ^ index     » next       coverage.py v7.5.0, created at 2025-09-13 15:29 -0300

1# from django.dispatch import receiver 

2import uuid 

3 

4from website.models import * 

5from website.models.UserModel import User 

6 

7 

8class Author(models.Model): 

9 user = models.OneToOneField(User, on_delete=models.CASCADE) 

10 author_name = models.CharField(max_length=45, blank=True, null=True) 

11 author_url_slug = models.TextField( 

12 max_length=70, blank=False, null=False, unique=True, default=uuid.uuid4 

13 ) 

14 access_level = models.IntegerField(choices=ROLE_CHOICE, default=1) 

15 written_posts = models.ManyToManyField( 

16 "Post", db_column="pk", blank=True, related_name="+" 

17 ) 

18 history = models.TextField(max_length=1000, blank=True, null=True) 

19 jobs = models.ManyToManyField("Job", db_column="pk", blank=True, related_name="+") 

20 social_media = models.ManyToManyField("SocialMedia", blank=True, related_name="+") 

21 

22 created_at = models.DateField(auto_now_add=True) 

23 

24 image = models.ImageField(null=True, blank=True, default=None) 

25 

26 def __str__(self): 

27 return f"{self.user.username}" 

28 

29 # Quando houver um post na classe User, deverá ser chamado o método create_user_profile 

30 

31 # Ao criar este método, já foi criado o superuser, por isso o uso do try 

32 # para não quebrar o app ao fazer login com admin 

33 

34 """@receiver(post_save, sender=User) 

35 def create_user_profile(sender, instance, created, **kwargs): 

36 try: 

37 if created: 

38 Author.objects.create(user=instance) 

39 except: 

40 raise "Não foi possível criar o usuário." 

41 

42 @receiver(post_save, sender=User) 

43 def save_user_profile(sender, instance, **kwargs): 

44 try: 

45 instance.author.save() 

46 except: 

47 pass""" 

48 

49 class Meta: 

50 db_table = "Author"