注册用户时。我填充用户类型并从中注册,并创建了一个具有耐心和医生的用户类型的用户。现在,我需要一个单独的表,在这里我可以列出在患者表中已登录的用户类型患者和在医生表中列出的医生。 如何根据用户类型(角色)扩展用户个人资料
class UserType(models.Model):
user =models.OneToOneField(User, on_delete=models.CASCADE)
USER_TYPE = (
(1, 'Patient'),
(2, 'Doctor'),
)
user_type = models.IntegerField(choices=USER_TYPE)
我也有一个叫做预订的模型 这里的字段是用户名部门,与用户是一对一的关系
user =models.OneToOneField(User, on_delete=models.CASCADE)
所以我需要与医生登录的用户一起预订。我还需要添加一个名为“医生专长”的领域。
尽管我已经创建了个人资料。但是当我更新它时,我只想显示特定字段供医生使用
答案 0 :(得分:0)
如果每个用户都有唯一的类型,我不明白为什么需要使用两个分开的表来列出已登录的医生和患者。您只能使用一张桌子:
class LoggedInUser(models.Model):
user_type = models.ForeignKeyField(UserType, on_delete=models.PROTECT, related_name='logged_in')
logInTimestamp = models.DateTimeField(auto_now_add=True)
使用此模型,您可以查询以下所有医生:LoggedInUser.objects.filter(user_type__user_type=2)
。