我的django项目中有以下模型:
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)
Run Code Online (Sandbox Code Playgroud)
现在,我想过滤所有具有特定格式的视频,并且该格式的状态代码为10(可以使用).我怎样才能做到这一点?(假设f是格式):
f = Format.objects.get(pk=3)
Run Code Online (Sandbox Code Playgroud)
我很想用:
Video.objects.filter(media__formats=f, media__mediaformat__status=10)
Run Code Online (Sandbox Code Playgroud)
但是,这将返回所有符合这两个假设的视频:
我该如何过滤只有状态代码为10的那种特定格式的人?
谢谢!