Coverage for website/models/ReaderModel.py: 93%

14 statements  

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

1from django.db import models 

2 

3from website.models import User 

4 

5# from django.dispatch import receiver 

6 

7 

8class Reader(models.Model): 

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

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

11 access_level = models.IntegerField(default=2) 

12 saved_posts = models.ManyToManyField("Post", db_column="pk", blank=True) 

13 

14 created_at = models.DateField(auto_now_add=True) 

15 

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

17 

18 def __str__(self): 

19 return f"{self.reader_name}" 

20 

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

22 

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

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

25 

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

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

28 try: 

29 if created: 

30 Reader.objects.create(user=instance) 

31 except: 

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

33 

34 @receiver(post_save, sender=User) 

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

36 try: 

37 instance.reader.save() 

38 except: 

39 pass""" 

40 

41 class Meta: 

42 db_table = "Reader"