기본적으로 스포츠 팀 모델 웹 사이트를 작성 중이며 Player와 Team이라는 두 가지 모델이 있습니다. 팀에는 플레이어와 ManyToManyField 관계가 있고 팀의 플레이어에게만 제한되어야하는 (즉, 플레이어 중 하나가 아닌 선장을 가질 수없는) 선장을 나타내는 OneToOneField도 있습니다.Django OneToOneField ManyToManyField의 서브 세트
class Player(models.Model):
name = models.CharField()
.....
class Team(models.Model):
players = models.ManyToManyField(Player)
captain = models.OneToOneField(Player)
....
기본적으로 내가 단지 팀에 그 선수 중 하나를 선택하려면 OneToOneField, 선장을 제한하는 가장 좋은 방법은 무엇인지 알고 싶어하고있다.
나는 kwarg 나는 데이터베이스 조회를 수행하는 주장 필드에 사용자 정의 유효성 검사기 것 일 수 있다고 생각하는 유일한 다른 방법으로
limit_choices_to={'team_set__players__name__icontains':""}
을 시도했다, 그러나 확실하게 더 나은 방법이 있어야한다?
도움 주셔서 감사합니다.
관리자로 팀과 선수를 만들고 있습니까? – czarchaic