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)