Django 根据相关字段过滤对象
Django filter objects based on related field
我有一个博客设置,其中包含多对多字段到类别的条目。
categories = models.ManyToManyField(Category)
我有一个视图,我想在其中列出所有条目,但基于与类别相关的条目进行过滤,这将在 url 中表示为一个 slug。
到目前为止,这是我的视图函数:
def category_detail(self, request, slug):
entries = Entry.live.all().filter()
categories = Category.objects.all()
return render(request, 'coltrane/entry_archive.html',
{"entries": entries, "categories": categories})
边栏中出现了一个类别列表,这就是我在字典中传递这些值的原因。我想在条目过滤器中向 return 添加一些逻辑,类似于 categories.title = slug
你真的是说 categories.title = slug
吗?
entries = Entry.live.filter(categories__title=slug)
我有一个博客设置,其中包含多对多字段到类别的条目。
categories = models.ManyToManyField(Category)
我有一个视图,我想在其中列出所有条目,但基于与类别相关的条目进行过滤,这将在 url 中表示为一个 slug。
到目前为止,这是我的视图函数:
def category_detail(self, request, slug):
entries = Entry.live.all().filter()
categories = Category.objects.all()
return render(request, 'coltrane/entry_archive.html',
{"entries": entries, "categories": categories})
边栏中出现了一个类别列表,这就是我在字典中传递这些值的原因。我想在条目过滤器中向 return 添加一些逻辑,类似于 categories.title = slug
你真的是说 categories.title = slug
吗?
entries = Entry.live.filter(categories__title=slug)