我试图看看是否可以将字段名称作为get_or_create中的变量传递(因为我有一个函数,其中kwargs中的键可以变化)
像这样:
def convert_value(cell_value, field_to_lookup):
rem_obj, created = Rem.objects.get_or_create(field_to_lookup=cell_value)
print ('created? ',created)
return rem_obj
以上不会奏效,因为它会寻找' field_to_lookup'作为关键。
This帖子建议使用getattr,但不确定这是否适用于这种情况,因为我将再次需要将输出分配给变量
答案 0 :(得分:0)
This帖子有帮助。现在将字段值对传递为dict,允许传递字段名称的变量。这是代码:
def convert_value(cell_value, field_to_lookup):
rem_obj, created = Rem.objects.get_or_create(**{field_to_lookup:cell_value})
print ('created? ',created)
return rem_obj
或者,我可以直接将dict传递给函数。