亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django 中的排除列表無法更新

Django 中的排除列表無法更新

開心每一天1111 2023-12-05 15:52:53
我遇到了一個問題,無法過濾和更新 Django 中的排除項。我只想更新那些從我的列表變量中排除的項目。以下是我現在得到的所有內容,預先感謝我感謝任何幫助和建議比如說我有一個清單  ['1', '2', '5'] and I want to update all of my data in database exclude from 1,2,5 list and update  all value into "3" views.pydef update(request):if request.method=="POST":    product_ids=request.POST.getlist('id[]')    for id in product_ids:        result = Person.objects.filter(province="DATA_1",municipality="Data_2").exclude(pk =         id).update(paid=3)return render(request, 'dashboard.html')
查看完整描述

1 回答

?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

您現在要做的就是每次將一個新的查詢集分配給同一個變量,因此您最終會得到最后一個查詢集,并且永遠不會同時排除所有三個查詢集。


您需要做的是排除多個項目:


Person.objects.filter(

    province="DATA_1",municipality="Data_2"

).exclude(

    pk__in=product_ids

).update(paid=3)

請參閱有點令人困惑的文檔:


在給定的可迭代中;通常是列表、元組或查詢集。這不是常見的用例,但接受字符串(可迭代)。


基本上意味著,__in查找表達式需要一個可迭代對象,并將過濾或排除可迭代對象中的所有匹配項。


NULL 數據 Null 表示沒有數據,與 __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)


查看完整回答
反對 回復 2023-12-05
  • 1 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號