0

如果我有一个主键名称的变量,我如何获得一个给定该变量和主键值的对象?

例如

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
4

2 回答 2

5

您可以使用主键快捷方式通过其主键获取对象:

class_name.objects.get(pk=pk)

一般来说,如果字段名称是变量,您可以使用字典来提供关键字参数。

class_name.objects.get(**{field_name: 'field_value'})
于 2012-09-04T00:58:03.917 回答
0
d = {"username":"bob"}
class_name.objects.get(**d)

也许?

于 2012-09-04T01:03:22.590 回答