2011-03-16 1 views
6

가정하자 나는이 (테스트하지) 장고에 정의 된 다음 모델 :장고 : 모든 모델은 개체에 대한 고유하게 필드를 강제로 같은 외래 키

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") 

수 있도록하는 표준 장고 방법이 있나요 모두 Car (동일 maker)은 car_id이 유일하며 에 대해 car_id은 모두Car입니다.

예. "Skoda"와 "Renault"라는 자동차 제조업체가 있습니다. Skoda에서 만든 Car과 Renault에서 만든 300 Car이 있습니다. car_id가 모든 Skodas에서 고유하고 모든 Renault에서 고유하지만 모든 Car에 대해 반드시 고유하지는 않은지 확인하고 싶습니다.

감사

답변

11

당신은 제약이 유형을 만들 모델 옵션 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") 
+0

감사합니다. 그리고 문서에 연결하기위한 +10 : – pisswillis