在Django中获取相关对象的最便捷方法

时间:2019-10-31 12:55:07

标签: django django-models

我需要根据登录用户的“类型”呈现不同的模板: 我有一个名为Users的自定义用户,用于存储常规字段,还有三种不同的用户类型,分别为AdminsPublishersCopywriters,这些用户类型通过One-链接到Users表一对一关系

class Users(AbstractUser):
    # fields

class Admins(models.Model):
    user = models.OneToOneField(Users, on_delete=models.CASCADE)
    # extra fields for admins...

class Publishers(models.Model):
    user = models.OneToOneField(Users, on_delete=models.CASCADE)
    # extra fields for publishers...

class Copywriters(models.Model):
    user = models.OneToOneField(Users, on_delete=models.CASCADE)
    # extra fields for copywriters...

哪个是最方便的方式来检索已登录用户的相关字段?换句话说,我该如何检索与登录用户相关的管理员,发布者或文案对象?

我最初的想法是在Users表中添加一列名为user_type的列,但在我看来,这是一个冗余字段,因为存在一对一的关系

0 个答案:

没有答案