簡體   English   中英

Django JSONField 查詢值列表,其中過濾器列表中至少有 1 個值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM