Anayltics
というモデルがあります。
このモデルのURLフィールドには、さまざまな値が含まれています(例: '/ login'、 '/ sports/1234'、 '/ search')。Django ORM、フィルタリングを取得しても条件に合致しないデータ
class Analytics(models.Model)
url = models.CharField(max_length=255, null=True)
value = models.IntegerField(null=True)
下記のcategory_listに文字列を含むURLを含むレコードのみを取得しようとしました。
category_list = ['fashion', 'food', 'sports']
filter_q = reduce(operator.or_, (Q(url__contains=c) for c in category_list))
query = Analytics.objects.filter(filter_q)
しかし、URL等の不測のURLを、 '/ログイン' を持つレコードは、も取得されます。
どこに間違っているか教えてください。
@Alasdairああ、申し訳ありません。一定。 – xKxAxKx
あなたの 'Q()'オブジェクトを還元する方法はOKです。あなたが投稿したコードに何か間違ったことはありません。私は '/ login'というURLをなぜ返すのか説明できません。 – Alasdair