在查詢集中,我想返回一個集合(由pk)和所有狀態爲'ACTIVE'的Sales對象。在Django查詢集中篩選子行
我曾嘗試:
Collection.objects.filter(Sales__status="ACTIVE")
但我回來了所有銷售對象的集合對象,如果銷售對象之一匹配具有「積極」
狀態的標準,而不是隻是那些所以,我有2種型號(和參考模型)
class Collection(models.Model):
ID = models.AutoField(primary_key=True)
collection_title = models.CharField(max_length=255)
class Sales(models.Model):
ID = models.AutoField(primary_key=True)
sales_title = models.CharField(max_length=255)
class CollectionSales(models.Model):
COLLECTIONSALES_STATUS_LIST = (
('ACTIVE', 'Active'),
('REJECT', 'Reject'),
)
collection = models.ForeignKey('Collection')
sales = models.ForeignKey('Sales')
status = models.CharField(max_length=10, choices=COLLECTIONSALES_STATUS_LIST, default="ACTIVE")
class Meta:
db_table = "myschema_collection_sales"
managed=False
編輯: 我試圖融入REST架構這使鄰輸出將是:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"ID": "1",
"collection_title": "My Collection 1",
"Sales": [
{
"ID": 12,
"sales_title": "my sales title 12",
"status": "ACTIVE"
}
]
}
,
{
"ID": "2",
"collection_title": "My Collection 2",
"Sales": [
{
"ID": 4,
"sales_title": "my sales title 4",
"status": "ACTIVE"
},
{
"ID": 5,
"sales_title": "my sales title 5",
"status": "ACTIVE"
}
]
}
]
}
我認爲你的查詢是Collection.objects.filter(sales__status =「ACTIVE」)?它自然地返回所有具有活躍銷售的集合。 – RickyA 2013-03-26 15:48:43
你究竟想要什麼?積極出售的藏品?積極銷售的CollectionSales? – RickyA 2013-03-26 15:49:51
我希望查詢返回集合對象以及所有「ACTIVE」銷售 – HungryArthur 2013-03-26 15:53:43