Django kwargs扩展不使用startswith

时间:2015-03-10 03:34:11

标签: python django database filter kwargs

我遇到了一个与question 310732非常相似的问题,并按照那里的建议,在我的kwargs代中实现了.format()解决方案。

一个小例子的转储如下所示:

{'username_fragment_1__startswith': u'joey'}

其中" username_fragment_1"是有效的列名。

根据丹尼尔的要求提供更多细节:

query_sub = "(CASE WHEN ISNULL(%s) THEN 0 ELSE LENGTH(%s) END)"

query_string = query_sub % ((label_dict[frag],)*2)

results[frag] = DisplayNameSearchResult.objects.filter(**kwargs).extra(select={ 'proxylen':(query_string)},order_by=['proxylen']).values('agent_id', 'proxylen')

但是,当我运行单元测试时,我得到:

OperationalError: (1054, "Unknown column 'username_fragment_1__startswith' in 'field list'")

views.py中的调用类似于:

MyClass.objects.filter(**kwargs)

建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

现在,今天早上它没有任何变化。关闭作为heisenbug。