0
이것은 내 모델입니다. 한 줄에 manytomany django를 역순으로 필터링 하시겠습니까?
class League(models.Model):
league_name=models.CharField(max_length=20)
league_id=models.IntegerField()
class LeagueAdministrator(models.Model):
administrator = models.ManyToManyField(User)
league = models.ManyToManyField('League')
는 리그 하나 이상의 관리자가 될 수 있음을 감안할 때 : 나는 특정 리그의 administator있는 모든 사용자 개체로 설정 쿼리를 반환하는 단일 쿼리를 원한다. 이것이 내가 지금하는 일이다.
league=League.objects.get(league_id=1)
usersids=LeagueAdministrator.objects.filter(league=league).values_list('administrator')
Administrators=User.objects.filter(id__in=usersids)
감사합니다.
나는 모델 구조를 잘 생각하지 않는다 : 나는 의심 * 아주 * 많이 양쪽에 ManyToManys와 LeagueAdminstrator 클래스가 필요합니다. 오히려 LeagueAdministrator는 * ForeignKey *를 사용하여 다 대 다 관계의 연결 테이블 그 자체입니다. –
나는 그것을 얻지 못한다 : 많은 리그와 많은 리그에서 플레이 할 수있는 사용자가 있다면 어떨까요? 내가 다 대다가 아니라 외래 키만 쓸 필요가 있다고 말하면, 다 대 다 분야가 필요할 것입니다. (내 모델에 연결된 예제가 마음에 들면) – foebu
하지만 내 포인트는 * 다 대 다다. 다 대다 관계는 양쪽에 외래 키가있는 연결 테이블을 가지고 있습니다. Django ManyToManyField는 해당 테이블을 생성하고 조인에 액세스하는 Pythonic 방식을 만듭니다. 귀하의 경우, 리그와 사용자의 각 조합에 여러 명의 리그 관리자가 있어야합니다. 이는 합리적인 말이 아닙니다. 많은 팀을 관리 할 수있는 팀원이라도 각 팀의 관리자가 될 수 있으며 각 팀마다 여러 관리자. –