【问题标题】:Django countries order by translated nameDjango 国家按翻译名称排序
【发布时间】:2013-08-22 17:28:02
【问题描述】:

我开始使用 django_countries 并在我的一个模型中添加了一个字段

country = CountryField(blank=True)

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

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

有什么想法吗? 谢谢你的时间

【问题讨论】:

  • 翻译视图中的名称,将其排序,然后推送到模板。你用什么翻译?
  • 实际上我没有做任何翻译,所以答案不起作用,我猜 django_countries 应用程序会自动完成它,因为我的 settings.py 中有西班牙语作为语言
  • 这很有趣。不幸的是我不知道那个应用程序。但是您总是可以尝试在客户端(JavaScript?)对这些国家/地区进行排序。
  • 显然这将是唯一的解决方案:/ 谢谢

标签: django django-models django-countries


【解决方案1】:

如果你想在服务器端做,你可以这样做:

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

这就是我用的。

【讨论】:

    【解决方案2】:

    这是基于this的解决方案

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-10
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多