[英]How to dynamically select django model fields in views.py
我正在使用 DRF,我正在嘗試動態地從 django model object 中獲取 select 字段,以便我可以將它們與傳入數據進行比較。 我知道如何手動執行此操作
def put(self, request):
businessPage = BusinessPage.objects.get(id=request.data['id'])
if businessPage.name != request.data['name']:
businessPage.name = request.data['name']
if businessPage.address != request.data['address']:
businessPage.address = request.data['address']
businessPage.save()
res = {
'status': 'Success'
}
return Response(res)
雖然這行得通,但感覺非常混亂和重復,所以我開始尋找一種方法來動態檢查 object 字段是否與傳入數據匹配。
def put(self, request):
businessPage = BusinessPage.objects.get(id=request.data['id'])
for obj in request.data:
if businessPage[obj] != request.data[obj]:
businessPage[obj] = request.data[obj]
businessPage.save()
res = {
'status': 'Success'
}
return Response(res)
我一直無法弄清楚從businessPage
獲取正確字段的正確語法。 這可能嗎? 有沒有更好的方法來完成這個任務? 這里的任何幫助將不勝感激!
你可以這樣做:
bp_id = request.data.pop("id")
BusinessPage.objects.filter(id=bp_id).update(**request.data)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.