2013-08-20 38 views
2

我开始使用django_countries并添加一个字段到我的车型之一Django的国家订购的翻译名称

country = CountryField(blank=True) 

的问题是用户的语言为西班牙语,当窗体显示国家的名单,他们被正确翻译,但他们按我猜测的代码或英文名称排序。

我希望按显示名称排序,以便用户可以通过键入第一个字母然后下降直到找到它(大多数人的方式)来轻松搜索任何国家/地区。

任何想法? 感谢uou您的时间

+0

在视图中翻译名称,在那里对其进行排序,然后推送到模板。你用什么翻译? – freakish

+0

其实我没有做任何翻译,所以答案将无法正常工作,我猜django_countries应用程序会自动执行它,因为我的西班牙语作为language.py – steven2308

+0

这很有趣。不幸的是我不知道那个应用程序。但是你总是可以尝试在客户端对这些国家进行排序(JavaScript?)。 – freakish

回答

0

这是该解决方案的基础上,this

function sort(a, b) {    
     return (a.innerHTML > b.innerHTML) ? 1 : -1; 
    }; 
$('#select_id option').sort(sort).appendTo('#select_id'); 
-1

如果你想这样做服务器端,你可以做这样的事情:

things = sorted(things, key=lambda thing:Country(thing['country']).name) 

那是什么我用了。