如何填充模型中的四个外键字段中的两个 - 且只有两个 - ?

时间:2017-01-05 18:30:44

标签: django django-models foreign-keys

我有一个带有两个对象的简单模型。一种对象类型(1)只存储信息。另一个(2)存储对象之间的信息和连接。连接可以是1-1,1-2或2-2。对象2具有四个外键字段(往返于对象1和2)。因为只能在两个对象之间建立连接,所以我想在我的模型中指定并非所有四个外键可以同时填充,而只能组合两个。其他人应该留空。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以在模型级别添加一些验证(直接在save方法中或使用验证api cf https://docs.djangoproject.com/en/1.10/ref/models/instances/#validating-objects),但这不会在以下情况下执行数据库级别以及QuerySet.update操作期间(cf https://docs.djangoproject.com/en/1.10/ref/models/querysets/#update)。