我想查询模型以获取我作为字符串获得的特定字段。
演示:
class Foo(models.Model):
someones_name = models.CharField(max_length=100)
anothers_name = models.CharField(max_length=100)
# python shell:
>> Foo.objects.get(pk=1).someones_name
u'Cpt. Hook'
>> Foo.objects.get(pk=1).anothers_name
u'Peter Pan'
现在 - 我在一个变量中输入了字段的名称someones_name
>> field_name = 'someones_name'
那么,如何使用该 field_name-variable 对 Foo-Model 执行几乎相同的查询?如果真的有这样的事情是可能的?
编辑
我不想用那个 field_name 进行查询。我想要 field_name 中给出的字段的确切值。我知道我可以做这样的事情
query = Foo.objects.get(pk=1)
query.someones_name
query.anothers_name
我所需要做的就是将我从._meta.fields
(从另一个模型)动态接收的这个特定字段作为字符串获取。
在 RAW-SQL 中类似于:'SELECT %s FROM foo where pk = 1' % field_name