2010-06-23 126 views
0
類別

第一次海報堆棧溢出得到下一個上一個項目......Django的查詢按日期

我懷疑我的問題就出在這個解決方案: Django Query That Get Most Recent Objects From Different Categories 但我有麻煩了「得」 Django的註釋( )功能。

我這個地步得到:

previous = Item.objects.filter(date_added__lte=item.date_added).filter(???)[0:1] 

我的項目是多對多與分類。我試圖弄清楚如何使用第二個過濾器來測試項目的當前類別(基於url參數)在第一個過濾器返回的queryset的items.categories中。

可以使用正確的方向推動。

謝謝。 Dan 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) 
    .... 
+0

我需要更多的細節,恐怕。特別是我認爲我們需要看你的模型。 – 2010-06-23 21:01:06

+0

我已經添加了我的模型的相關部分。爲了澄清,我將有一個類別的價值。在過濾掉所有以前添加的項目之後,我想進一步過濾到其類別(manytomany)字段包含我在視圖中具有的類別的項目。如果我正在處理類別(fk)而不是類別(mtm),我知道該怎麼做。 – 2010-06-25 16:04:38

回答

0

好的,我很傻。 沒有意識到這與mtm字段查找中的'categories = category'一樣簡單。以爲我必須檢查類別是否屬於「類別」。

previous_items = Item.objects.filter(date_added__lt=item.date_added).filter(categories=category)