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
« prev ^ index » next coverage.py v7.5.0, created at 2025-09-13 15:29 -0300
1# from django.dispatch import receiver
2import uuid
4from website.models import *
5from website.models.UserModel import User
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="+")
22 created_at = models.DateField(auto_now_add=True)
24 image = models.ImageField(null=True, blank=True, default=None)
26 def __str__(self):
27 return f"{self.user.username}"
29 # Quando houver um post na classe User, deverá ser chamado o método create_user_profile
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
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."
42 @receiver(post_save, sender=User)
43 def save_user_profile(sender, instance, **kwargs):
44 try:
45 instance.author.save()
46 except:
47 pass"""
49 class Meta:
50 db_table = "Author"