Django:强制字段对于具有相同外键的所有模型对象都是唯一的

2024-09-28 22:11:13 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我在django中定义了以下模型(未测试):

class CarMaker(models.Model):
   name = models.CharField("Name of car maker",
                            max_length=40)


class Car(models.Model):
   car_id = models.IntegerField("ID for this particular car")
   maker = models.ForeignKey("Maker of this car")

有没有一种标准的django方法可以确保具有相同maker的所有Car都具有唯一的car_id,而不会使{}对allCar唯一?在

有两家汽车制造商,“斯柯达”和“雷诺”。斯柯达生产了400辆,雷诺生产了300辆。我想确保car_id对所有斯柯达都是唯一的,对所有雷诺都是唯一的,但不一定对所有的Cars是唯一的

谢谢


Tags: ofdjangoname模型idmodel定义models
1条回答
网友
1楼 · 发布于 2024-09-28 22:11:13

您可以使用模型选项unique_together来创建这种类型的约束。请参阅Django文档:http://docs.djangoproject.com/en/1.2/ref/models/options/#unique-together

class Car(models.Model):
    car_id = models.IntegerField("ID for this particular car")
    maker = models.ForeignKey("Maker of this car")

    class Meta(object):
        unique_together = ("car_id", "maker")

相关问题 更多 >