2013-08-20 3 views
2

Я начал использовать django_countries и добавил поле к одному из моих моделейстраны Джанго заказа по переведенному имени

country = CountryField(blank=True) 

Проблема является язык пользователей является испанским, и когда форма показывает список стран, они правильно переведены , но они упорядочены по коду, я думаю, или по английскому имени.

Я хочу, чтобы его заказывали по отображаемому имени, чтобы пользователи могли легко найти любую страну, набрав первую букву, а затем опустившись до тех пор, пока она не найдет ее (как это делает большинство людей).

Любые идеи? Спасибо uou за ваше время

+0

Перевести имена в поле зрения, отсортировать его, а затем нажать на шаблон. Что вы используете для переводов? – freakish

+0

На самом деле я не делаю ничего, чтобы перевести так, чтобы ответ не сработал, я думаю, что приложение django_countries делает это автоматически, так как у меня есть испанский язык как язык в моих настройках.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) 

Вот что Я использовал.

Смежные вопросы