[英]Django JSONField query on a list of values where at least 1 value is in the filter list
我有這個模型:
class Movie(models.Model):
genres = models.JSONField(default=dict, null=False, blank=False)
此列中的數據包含流派列表,例如:
["biography", "comedy", "crime", "drama", "romance"]
當我嘗試執行以下代碼時,我得到了空:
wanted_genres = ['action', 'adventure', 'animation', 'biography', 'comedy', 'crime', 'documentary', 'drama', 'family']
Movie.objects.all().distinct().filter(genres__contains = wanted_genres)
我想獲得在列流派中找到至少 1 種類型的wanted_genres
結果。 我嘗試了很多過濾技術,但我找不到一個好的數組到數組比較方法。 需要幫忙。 謝謝。
使用 contains_by 而不是 contains
Movie.objects.all().distinct().filter(genres__contained_by = wanted_genres)
有關更多信息,您可以查看官方文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.