【发布时间】:2021-09-09 03:56:12
【问题描述】:
在我的 Django models.py 中,我有一个“流派”字段 (models.TextField)。此字段有时只包含一个字符串,有时包含一个逗号分隔的字符串列表,如下所示:
喜剧、动作、剧情
或者
动作、奇幻
或者只提到一个字符串,例如只有
喜剧
现在在我看来,我想做这样的事情:
queryset_comedy = Movies.objects.get_queryset().filter(genre__in=["Comedy", "Family"])
queryset_action = Movies.objects.get_queryset().filter(genre__in=["Action", "Adventure"])
queryset_drama = Movies.objects.get_queryset().filter(genre__in=["Drama", "Thriller"])
我提到我的查询只匹配根据流派字段独立的字段值。例如,电影元素一具有以下流派字符串:
喜剧、动作
和电影元素二只有“喜剧”作为独立字符串。比查询仅输出具有独立字符串“Comedy”而不是 Comedy、Action 的 Movie 对象。
当为流派提供多个排序字符串时,如何使电影元素匹配?
【问题讨论】:
-
也许你的类型应该是它自己的模型,然后可以使用多对多关系
-
我也想过这个,但目前实现起来相当复杂。我可能想继续使用字符串匹配
标签: django