Shi*_*hiv 5 python database django
我希望能够使模型在来自外键模型的值上具有唯一性。不确定这在 django 中是否可行。
示例:我有一个模型 A:
class modelA(models.Model):
fieldA1 = models.AutoField(primary_key=True)
fieldA2 = models.CharField(max_length=20)
Run Code Online (Sandbox Code Playgroud)
模型 B 也为:
class modelB(models.Model):
fieldB1 = models.CharField(max_length=20)
fieldB2 = models.ForeignKey(modelA)
class Meta:
unique_together = ('fieldB1', 'fieldB2',<<'fieldA2'>>)
Run Code Online (Sandbox Code Playgroud)
我想将 fieldA2 添加为模型 B 的 unique_together 子句中的属性之一。这在 Django 中可能吗?我不能这样做-
unique_together = ('fieldB1', 'fieldB2','modelA__fieldA2')
Run Code Online (Sandbox Code Playgroud)
你不能。数据库约束不能包含此类数据。在创建实例或编写一些验证器之前,您必须以编程方式检查它