首先,我想说的是,我对Django和Python非常陌生
我正在使用Django 2.0编写一个应用程序。我继承了用户的两项遗产:患者和负责的。一个患者需要一个用户存在,一个负责的需要一个患者存在。一个负责任的病人可能有几个病人,但一个病人只能有一个负责任的病人
然而,我有以下问题:一个病人不能为自己负责,目前这种情况发生了。我怎样才能阻止这一切的发生
患者模型:
class Patient(models.Model):
user = models.OneToOneField(User, related_name='patient',
on_delete=models.CASCADE, unique=True)
(...)
责任型:
class Responsible(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE,
limit_choices_to=Q(patient=None))
patient = models.ForeignKey(Patient, on_delete=models.CASCADE)
如您所见,我使用的是“limit\u choices\u to”,但这会导致在我创建新的负责人时,所有患者用户都没有列出
我设法解决这个问题如下:
在我负责的模型中,我添加了以下几行:
所以现在病人已经不可能对自己负责了
相关问题 更多 >
编程相关推荐