나는 카테고리로 정리 된 몇 가지 정보를 가지고 있습니다. 각 카테고리에 대해 나는 우승자 foo를 선택할 수 있기를 원합니다.Django - 인스턴스에 따라 무언가를 선택할 수 있습니다.
는 따라서 I는 다음과 같이 모델을 가지고 :
class Category(models.Model):
name = models.CharField(max_length=30)
# More fields...
winner = models.ManyToManyField(
'Foo',
related_name='winner'
)
class Foo(models.Model):
name = models.CharField(max_length=30)
# More fields...
category = models.ForeignKey(
Category,
related_name='category'
)
(winner
이 ManyToManyField
이유는 하나의 범주에 하나 이상이 될 수 있지만 하나의 푸 여러 범주에 속할 수 있다는 것입니다 우승자는 ex-aequo 때문에 생긴다.)
foo가 해당 카테고리에 속한 경우에만 카테고리에서 이길 수있는 자연스러운 제약 조건을 부과하고 싶다. 그렇게하는 가장 합리적인 방법은 limit_choices_to
매개 변수를 사용하는 것 같지만 모델의 현재 인스턴스를 기반으로 선택을 제한 할 수 없다고 생각됩니다.
나는 주어진 양식이 제약을 부과 할 수 있지만 나는 두 가지 이유 때문에이를 방지하고자 :
는- 제약 자연스럽게 모델 수준에서 살고있다. 그것은 특정 항상 두 개의 관련 모델
- 승자의 선택은 관리자에 될 것이다, 내가 관리자를 사용자 정의하는 것을 피하기 싶습니다 사이에 보유해야 관계
인가 형성 거기 장고에이 제약 조건을 부과하는 방법은 무엇입니까?