![](/img/trans.png)
[英]In Django create a model method which determines an id for all objects that share the same foreign key
[英]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.