如果我有一个主键名称的变量,我如何获得一个给定该变量和主键值的对象?
例如
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
如果我有一个主键名称的变量,我如何获得一个给定该变量和主键值的对象?
例如
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
您可以使用主键快捷方式通过其主键获取对象:
class_name.objects.get(pk=pk)
一般来说,如果字段名称是变量,您可以使用字典来提供关键字参数。
class_name.objects.get(**{field_name: 'field_value'})
d = {"username":"bob"}
class_name.objects.get(**d)
也许?