-1
有一个对象Foo,其中包含一个值'foo' 有一个对象Bar,其属性foo 我想了解如何使用Django的extra(select{})
获取Bar对象,该对象的foo属性等于'foo'如何正确使用Django的额外(select = {})? [已解决]
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应该是引号内。
我试过了。控制台产生错误:“字段列表”中的未知列“foo”。 – Oleg 2014-08-27 15:20:27
这是因为您需要将其指定为底层SQL引擎的字符串。 ''“foo”'' – 2014-08-27 15:21:55
好的,这工作!谢谢。 – Oleg 2014-08-27 15:24:18