2013-04-08 105 views
1

我的模型定義爲:Django的交叉表查詢集

class Inventory(models.Model): 
    items = models.ManyToManyField(Item, blank=True) 
    scanned_items = models.ManyToManyField(Item, related_name='scanned_inventory_set', blank=True) 

在視圖中,我試圖讓那些沒有被掃描的所有項目的列表。基本上,它必須是(物品而不是scanning_items)。但是,我不知道如何查找兩者之間的關係。

+0

的'Inventory'模式似乎在這種情況下毫無意義。你爲什麼不只有一個''''''''''''''''''''''''''''''''''屬性有'scanned = BooleanField(default = False) – rantanplan 2013-04-08 21:55:08

+0

我從清單中拿出了很多不相關的東西。爲了您的利益,庫存是一個模型,因此可以根據過去的庫存生成報告。 – 2013-04-08 23:47:11

回答

2

你可以這樣做:

items_to_exclude = Inventory.objects.values_list('items', flat=True) 
items = Items.objects.exclude(id__in=items_to_exclude)