У меня есть две модели: CustomUser и Artist.
Я пытаюсь добиться того, чтобы при создании пользователя автоматически создавался художник.
Я не хочу добавлять поле OneToOneв модели художника. Я просто хочу заполнить эти поля: name, artist_category, artist_image и bio, используя post_save при создании CustomUser.
пользовательская модель пользователя
class CustomUser(AbstractBaseUser, PermissionsMixin):
artist_choice = [
(0, 'celebrities'),
(1, 'singer'),
(2, 'comedian'),
(3, 'dancer'),
(4, 'model'),
(5, 'Photographer')
]
artist_category = models.IntegerField(choices=artist_choice, null=True)
mobile_number = PhoneNumberField(null=True)
city = models.CharField(blank=True, max_length=50)
bio = models.TextField(blank=True)
email = models.EmailField(max_length=100, unique=True)
name = models.CharField(max_length=100)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
is_superuser = models.BooleanField(default=False)
last_login=models.DateTimeField(null=True, blank=True)
date_joined = models.DateTimeField(auto_now_add=True)
country = CountryField()
USERNAME_FIELD = 'email'
EMAIL_FIELD='email'
REQUIRED_FIELDS=[]
objects=UserManager()
def get_absolute_url(self):
return "/users/%i/" % (self.pk)
class Artist(models.Model):
CHOICES = (
(0, 'celebrities'),
(1, 'singer'),
(2, 'comedian'),
(3, 'dancer'),
(4, 'model'),
(5, 'Photographer')
)
name = models.CharField(max_length=100)
artist_category = models.IntegerField(choices = CHOICES, null=True)
artist_image = models.ImageField(upload_to= 'media',null=True)
bio = models.TextField(max_length = 500)
def __str__(self):
return self.name