1 回答

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊
您現(xiàn)在要做的就是每次將一個(gè)新的查詢集分配給同一個(gè)變量,因此您最終會得到最后一個(gè)查詢集,并且永遠(yuǎn)不會同時(shí)排除所有三個(gè)查詢集。
您需要做的是排除多個(gè)項(xiàng)目:
Person.objects.filter(
province="DATA_1",municipality="Data_2"
).exclude(
pk__in=product_ids
).update(paid=3)
請參閱有點(diǎn)令人困惑的文檔:
在給定的可迭代中;通常是列表、元組或查詢集。這不是常見的用例,但接受字符串(可迭代)。
基本上意味著,__in查找表達(dá)式需要一個(gè)可迭代對象,并將過濾或排除可迭代對象中的所有匹配項(xiàng)。
NULL 數(shù)據(jù) Null 表示沒有數(shù)據(jù),與 __isnull 的處理方式不同:
Person.objects.filter(
province="DATA_1",municipality="Data_2"
).exclude(
street__isnull=True
).update(paid=3)
或者:
Person.objects.filter(
province="DATA_1",municipality="Data_2", street__isnull=False
).update(paid=3)
添加回答
舉報(bào)