[英]Keyword Not Passing in Function
我正在使用Django模型。 我想將模型字段作為變量傳遞。 鑒於我的職能:
from django.models import models
def updatetable(value, fieldtitle, tablename, uid, refname):
workingobj = tablename.objects.get(refname=uid)
currentvalue = getattr(workingobj, fieldtitle)
setattr(workingobj, fieldtitle, currentvalue + value)
workingobj.save()
return
我努力了:
updatetable(len(sr), 'posts_added', managementmetrics, startdtg, refname=update_dtg_start)
updatetable(len(sr), 'posts_added', managementmetrics, startdtg, refname='update_dtg_start')
乃至
updatetable(len(sr), 'posts_added', managementmetrics, startdtg, {refname:update_dtg_start})
我收到錯誤消息:無法將關鍵字“ refname”解析為字段。 選項包括:length_of_update,update_dtg_finish,update_dtg_start
我曾嘗試將refname替換為** kwargs,但似乎仍然無法獲取該字段的值。
問題不在於您如何調用此函數:該函數本身無法執行您想要的操作。
您需要更改get
。 而不是refname直接傳遞,你需要使用字典有 :
workingobj = tablename.objects.get(**{refname: uid})
現在,您只需以常規方式調用該函數:
updatetable(len(sr), 'posts_added', managementmetrics, startdtg, 'update_dtg_start')
(您還應該考慮重命名tablename
參數:您不是在傳遞表名,這意味着一個字符串,而是一個模型類對象。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.