我有一个模特

class ScrapEventInstructionMap(models.Model):
    instruction = models.ForeignKey(Instruction)
    scrap_code = models.CharField(max_length=100, null=True, blank=True)
    event_code = models.CharField(max_length=100, null=True, blank=True)

    class Meta:
        unique_together = (("instruction", "event_code"), ("instruction", "scrap_code"))


我使用了unique_together,因此对于特定的指令,scrap_code和event_code应该是唯一的。
从前端开始,如果我们单击特定的scrap_code和event_code,则会打开说明页面。

我在Admin.py中使用InlineModelAdmin,因此对于一条指令,可以有多个scrap_code或event_code

但是问题就像我们有两条指令,指令1和指令2
因此,如果我在两个指令中输入相同的scrap_code或event_code。正在保存。
我必须在管理页面中将其限制为event_code和scrap_code对于不同的指令也应该是唯一的。

最佳答案

尝试这个

class ScrapEventInstructionMap(models.Model):
    instruction = models.ForeignKey(Instruction)
    scrap_code = models.CharField(max_length=100, null=True, blank=True)
    event_code = models.CharField(max_length=100, null=True, blank=True)

    class Meta:
        unique_together = (("event_code", "scrap_code"))

10-08 11:02