我遇到模型设计问题。
模型用户,患者,医生,护士可以编写注释。它们都具有Note的外键。我想要在“注释”中添加一个字段,以便知道注释来自哪种类型的模型。在SQL中,我可以编写类似
的内容SELECT * FROM notes WHERE origin='nurse'
我是否必须添加一个字段作为CharField并指定引用的模型字符串名称,或者是否有一个特定于我要执行的操作的字段类型?
谢谢
答案 0 :(得分:1)
这正是ContentType model的用途。
class Note(models.Model):
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
现在您可以这样做:
ContentType.objects.get_for_model(Nurse)