Есть 2 категории пользователей,
"Мастер" и "Заказчик"
если пользователь имеет тип "Мастер", то
у него должно быть свое особое поле, например "Электрик",
а если тип "Заказчик", то, логично, что он этого поля иметь не должен.
На данный момент реализовал так:
USER_CATEGORY = ((1,"Customer"), (2,"Master"))
class UserCategory(models.Model):
choice=models.IntegerField(choices=USER_CATEGORY, db_index=True)
def __str__(self):
return str(self.choice)
class MasterCategory(models.Model):
category_name=models.CharField(max_length=200, db_index=True, )
description=models.TextField()
def __str__(self):
return self.category_name
class User(models.Model):
name=models.CharField(max_length=200)
user_category=models.ForeignKey(UserCategory)
master_category=models.ForeignKey(MasterCategory, null=True, blank=True)
def __str__(self):
return self.name
то есть у меня тут общая таблица для всех, некоторые поля в которой ссылаются на др. таблицы, но
при такой реализации, "Заказчик" все равно может выбрать себе специализацию, предназначенную только для пользователя категории "Мастер".
Подскажите, как сделать эти связи правильно, и еще, ведь куда-то надо определить и админские учетки?
Заранее спасибо!