我正在django中建模数据库关系,我想有其他意见。这种关系是一种二对多关系。例如,一个病人可以有两个医生:主治医生和主治医生。一个医生显然有很多病人。
应用程序确实需要知道哪个是哪个;此外,在某些情况下,一名患者的主治医生可能是另一名患者的主治医生。最后,主治和主治通常是相同的。
起初,我在想从患者表到医生表的两个外键。但是,我认为 django 不允许这样做。另外,转念一想,这确实是一个多(二)对多的关系。
因此,我如何在保持与患者相关的医生类型的同时,用 django 对这种关系进行建模?也许我需要将医生类型存储在多对多关联表中?
谢谢, 皮特
最佳答案
这样的事情怎么样:
class Patient(models.Model):
primary_physician = models.ForeignKey('Physician', related_name='primary_patients')
attending_physicial = models.ForeignKey('Physician', related_name='attending_patients')
这允许您对同一个模型有两个外键; Physician
模型还将包含名为 primary_patients
和 attending_patients
的字段。
关于python - 您将如何为这种数据库关系建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1162877/