Django搜索带有标签的模型的查询

时间:2011-10-06 12:28:57

标签: django django-models django-queryset

我有以下模型,我想根据IndexedLibrary名称和book的{​​{1}}名称选择tag个对象。

如何构建此查询?下面的查询执行时不包括书的标签,但我也想加入它们

book

1 个答案:

答案 0 :(得分:6)

我会将tags添加为ManyToManyField(Tag, blank=True),从book中移除BookTag属性,然后再查询

IndexLibrary.objects.filter(book__name__icontains=KEYWORD, \
    tags__name__in=['Tage Name 1', 'Tag Name 2'])

特别是因为标签经常在多个对象之间共享。