【发布时间】:2010-06-23 20:34:29
【问题描述】:
第一次发布 Stack Overflow 的海报...
我怀疑我的答案在于这个解决方案: Django Query That Get Most Recent Objects From Different Categories 但我无法“获取”Django 的 annotate() 功能。
我已经走到这一步了:
previous = Item.objects.filter(date_added__lte=item.date_added).filter(???)[0:1]
我的项目有很多类别。我试图弄清楚如何使用第二个过滤器来测试项目的当前类别(基于 url 参数)是否在第一个过滤器返回的查询集的 items.categories 中。
可以向正确的方向推动。
谢谢。 丹·J.
当然。
class Category(models.Model):
section = models.ForeignKey(Section)
name = models.CharField(max_length=50)
slug = models.SlugField()
....
class Item(models.Model):
categories = models.ManyToManyField(Category)
name = models.CharField(max_length=256)
date_added = models.DateTimeField(default=datetime.datetime.today)
....
【问题讨论】:
-
恐怕需要更多细节。特别是我认为我们需要看看你的模型。
-
我添加了模型的相关部分。为了澄清,我将有一个类别的价值。在我过滤到所有先前添加的项目后,我想进一步过滤到其类别(manytomany)字段包含我在我的视图中拥有的类别的项目。如果我处理的是 category(fk) 而不是 categories(mtm),我知道该怎么做。
标签: django annotations django-urls