有一个对象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都应该在引号内。
答案 0 :(得分:2)
嗯,是的。这不是有效的dict文字语法。
{'foo': 'foo'}