由用户子类中的字段创建



我需要一个"created_ by";子用户模型中的字段,该字段将显示创建翻译器帐户的用户(is_Translator=True(。

用户型号:

class User(AbstractUser):
is_client = models.BooleanField('Client status', default=False)
is_translator = models.BooleanField('Translator status', default=False)

子用户:

class Translator(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)

您创建了一个额外的ForeignKey[Django doc]:

class Translator(models.Model):
user = models.OneToOneField(
User,
on_delete=models.CASCADE,
limit_choices_to={'is_translator': True}
primary_key=True
)
created_by= models.ForeignKey(
User,
on_delete=models.CASCADE,
related_name='created_translators'
)

在创建Translator的视图中,需要使用登录用户(request.user(填写created_by字段。


注意:通常使用settings.AUTH_USER_MODEL[Django-doc]来引用用户模型比直接使用User模型[Django-dc]更好。有关更多信息,请参阅文档中引用User模型的部分。

最新更新