如何获得给定主键名称变量和pk值的对象?

9-b*_*its 0 python django django-models

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

例如

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
Run Code Online (Sandbox Code Playgroud)

Ala*_*air 5

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

class_name.objects.get(pk=pk)
Run Code Online (Sandbox Code Playgroud)

通常,如果字段名称是变量,则可以使用字典来提供关键字参数.

class_name.objects.get(**{field_name: 'field_value'})
Run Code Online (Sandbox Code Playgroud)