我开始调查为什么我的 Django Model.objects.filter(condition = variable).order_by(textcolumn) 查询不能以正确的顺序生成对象。并发现这是数据库(Postgresql)问题。
在我之前的问题(Postgresql 排序语言特定字符(排序规则) )中,我发现(在zero323的大量帮助下,它实际上可以正常工作)我可以像这样为每个数据库查询指定排序规则:
SELECT nimi COLLATE "et_EE" FROM test ORDER BY nimi ASC;
但据我所知, order_by 只接受字段名称作为参数。
我想知道,如果有可能以某种方式扩展该功能以包含排序规则参数?是否有可能使用 mixins 或诸如此类的东西以某种方式破解它?还是功能请求是现在唯一的方法?
我希望它能像这样工作:
Model.objects.filter(condition = variable).order_by(*fieldnames, collation = 'et_EE')
Edit1:显然我不是唯一一个要求这个的人: https ://groups.google.com/forum/#!msg/django-developers/0iESVnawNAY/JefMfAm7nQMJ
艾伦