Coverage for src/django_resume/models.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-10-13 13:17 +0200

1from django.db import models 

2from django.contrib.auth import get_user_model 

3 

4 

5class Resume(models.Model): 

6 name = models.CharField(max_length=255) 

7 slug = models.SlugField(max_length=255, unique=True) 

8 owner = models.ForeignKey(get_user_model(), on_delete=models.CASCADE) 

9 plugin_data = models.JSONField(default=dict, blank=True, null=False) 

10 

11 objects: models.Manager["Resume"] # make mypy happy 

12 

13 def __repr__(self): 

14 return f"<{self.name}>" 

15 

16 def __str__(self): 

17 return self.name 

18 

19 def save(self, *args, **kwargs): 

20 if self.plugin_data is None: 

21 self.plugin_data = {} 

22 super().save(*args, **kwargs)