Coverage for accounts/models.py: 100.00%

14 statements  

« prev     ^ index     » next       coverage.py v7.8.2, created at 2025-06-10 15:27 -0700

1from django.contrib.auth.models import AbstractUser 

2from django.db import models 

3from django.urls import reverse 

4from django_countries.fields import CountryField 

5 

6 

7class CustomUser(AbstractUser): 

8 """Default custom user model for django-start template project. 

9 If adding fields that need to be filled at user signup, 

10 check forms.SignupForm and forms.SocialSignupForms accordingly. 

11 """ 

12 

13 name = models.CharField("Name of User", blank=True, max_length=255) 

14 age = models.PositiveIntegerField(null=True, blank=True) 

15 bio = models.TextField("Bio", blank=True) 

16 profile_pic = models.ImageField(upload_to="profile_pics/", blank=True) 

17 country = CountryField("Country", blank=True) 

18 

19 def __str__(self): 

20 return self.username 1b

21 

22 def get_absolute_url(self): 

23 """Get URL for user's detail view. 

24 

25 Returns: 

26 str: URL for user detail. 

27 

28 **Template:** 

29 :template:`account/user_detail.html` 

30 

31 """ 

32 return reverse("user_detail", kwargs={"username": self.username}) 1c