给出了以下结构:
class MovieTranslation:
lang=CharField()
title=CharField()
class Movie:
key = CharField()
movie_translations = ManyToManyField(MovieTranslation)
现在举个例子,对于英语用户,我想按Movie
的英语MovieTranslation
排序,我想把它作为Filterset
类用在ViewSet
中。
我认为它应该是order_by(movie_translations__name='en'__title)
之类的东西。最后一部分当然不起作用。我找到了解决方案,过滤之前,但我不认为过滤英语翻译工作,因为我得到了一个电影对象谁有一个英文标题,但仍然可以有其他语言的列表。我想具体排序的领域,许多领域。
那么,是否有办法按特定的ManyToMany
示例(即名称为“en”的所有MovieTranslations
)进行排序?
我曾考虑过注解,但也遇到了同样的问题
我现在在想,加入一个特定的ManyToMany
领域可能会起作用。
2条答案
按热度按时间mlmc2os51#
以下应起作用:
请注意它假设所有电影都有英语翻译。ORM生成的SQL查询使用
INNER JOIN
,这将过滤掉没有翻译为title=en
的电影。blmhpbnm2#
试试这个