簡體   English   中英

Django:強制一個字段對於具有相同外鍵的所有模型對象是唯一的

[英]Django: Force a field to be unique for all model objects with the same foreign key

假設我在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 ,而不會使car_id所有 Car 獨一無二?

例如,有兩家汽車制造商,“斯柯達”和“雷諾”。 有400 Car S按斯柯達制造和300 Car S按雷諾制造。 我想確保car_id對於所有Skodas都是獨一無二的,並且對於所有雷諾來說都是獨一無二的,但並不一定是所有Car的獨特之處。

謝謝

您可以使用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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM