나는 내 장고 프로젝트의 다음 모델이 있습니다장고 대다 중간 테이블에 여러 필드를 필터링
class Video(models.Model):
media = models.ForeignKey(Media)
class Media(models.Model):
title = models.CharField(max_length=255)
formats = models.ManyToManyField(Format,through='MediaFormat',related_name='media',blank=True)
class Format(models.Model):
title = models.CharField(max_length=50)
class MediaFormat(models.Model):
status = models.IntegerField()
format = models.ForeignKey(Format)
media = models.ForeignKey(Media)
지금, 나는 특정 형식이있는 모든 비디오를 필터링 할, 그리고 해당 형식의 상태 코드는 10 (사용할 준비가되었습니다)입니다. 어떻게해야합니까? (즉, F를 가정하면 형식) : 다음
Video.objects.filter(media__formats=f, media__mediaformat__status=10)
그러나, 이러한 가정 모두 일치하는 모든 동영상을 반환하는 :
-
을
f = Format.objects.get(pk=3)
내가 사용하는 유혹 해요
상태 코드가 10 인 특정 형식의 사용자 만 필터링하려면 어떻게해야합니까?
감사합니다.
참고 두 개의 쿼리 집합을 원한다면 쿼리 집합간에'| '를 사용하는 것이 좋습니다. 이것이 OP에 얼마나 도움이되는지 확실하지 않지만 여기에 오는 다른 사람들에게 도움이 될 것입니다. – Pureferret