如果我有一个主键名称的变量,如何获得给定该变量和主键值的对象?
例如
pk_name = 'username'
pk = 'bob'
class_name.objects.get(pk_name=pk) # this obviously doesn't work because it looks for a field called pk_name
答案 0 :(得分:5)
您可以使用primary key shortcut按主键获取对象:
class_name.objects.get(pk=pk)
通常,如果字段名称是变量,则可以使用字典来提供关键字参数。
class_name.objects.get(**{field_name: 'field_value'})
答案 1 :(得分:0)
d = {"username":"bob"}
class_name.objects.get(**d)
可能?