如何正确使用Django的额外(select = {})?

时间:2014-08-27 15:16:41

标签: python django

有一个对象Foo包含一个值'foo' 有一个对象Bar,它有属性foo 我想了解如何使用Django的extra(select{})来获取Bar对象,它具有foo属性等于'foo'

from foo.models import Foo
from bar.models import Bar
f = Foo.objects.all()[0] # value is 'foo'
b = Bar.objects.extra(select={"qux": foo="foo"}) # this doesn't work

{"qux": foo="foo"}会产生错误。出了点问题。


答案:我的正确代码是:

b = Bar.objects.extra(select={"'qux'": "'foo'"}) # this doesn't work

所以qux和foo都应该在引号内。

1 个答案:

答案 0 :(得分:2)

嗯,是的。这不是有效的dict文字语法。

{'foo': 'foo'}