2017-04-03 59 views
0

我想看看我是否可以通过字段名作为get_or_create一个变量(因为我有一个功能,其中在kwargs重点可能有所不同)的Django在get_or_create

像这样通过字段名作为变量:

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

This岗位帮助。现在将字段 - 值对作为字典传递变量来传递字段名称。这里是代码:

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 

另外,我可以直接将字典传递给函数。

+0

但很高兴地了解,如果有更好的方式来做到这一点.. – Anupam

+1

不,这是明显的规范解决方案。 –

相关问题