2012-05-07 4 views
7

장고 (1.4) 모델에서 다 대다 관계가 있습니다.Django에서 many-to-many 관계에 적어도 하나의 값을 적용 하시겠습니까?

class UserProfile(models.Model): 
    foos = models.ManyToManyField(Foo) 

나는 각 사용자 (프로필)에 적어도 하나의 Foo가 있음을 확인하고 싶습니다. Foos는 0 개 이상의 사용자 (프로필)를 가질 수 있습니다. 나는이 사랑

은 모델과 관리 수준에서 시행 될,하지만 단지 관리자에 시행하는 것만으로는 충분하다.

내가 제대로 이해한다면, '많은'장고 발언에 제로 또는-이상입니다.

ManyToOneOrMore 관계가 필요합니다. 어떻게해야합니까?

감사합니다,

크리스.

답변

4

모델 수준에서 @Greg 세부 정보로이를 적용 할 수는 없지만 수는 일 뿐이며 필드를 필수로 설정하여 양식에 적용합니다. 이것은 foo없이 UserProfile을 수동으로 생성하는 셸 수준의 액세스를 누구도 막지는 못하지만 브라우저 기반 양식 작성 방법을 사용하는 모든 사람에게 강제로 적용됩니다.

7

불행하게도, 내가 ManyToMany의 데이터를 다른 모델 필드 별도로 저장되기 때문에이 모델 수준에서 가능하다고 생각하지 않습니다. 사용자 지정 양식을 지정하고 양식에 clean() 메서드를 작성하여 관리자 수준에서 적용 할 수 있어야합니다.

관련 문제