我使用Django Countries,如下所示。在我看來,它似乎根據英文原始值(例如Deutschland
將在G
(=德國))找到選擇項目,但在管理員中,值根據當前語言排序。這不是由JavaScript(我試圖通過禁用JS)完成。我不知道如何解決這個問題。版本:1.5.5 Django的,Django的國家2.1.2Django-Countries:翻譯選項中的錯誤排序(但在管理員中有效)
models.py
from django_countries.fields import CountryField
class MyModel(ModelSubClass):
country = CountryField(_('country'), blank=True)
#...
class MyForm(ModelSubForm):
class Meta(object):
model = MyModel
#...
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['country'].required = True
#...
views.py
class MyCreateView(CreateView):
model = MyModel
form_class = MyForm
# overriding `dispatch`, `get_initial`, `form_valid`, `get_context_data`, `get_success_url`
my_template.html
{% extends "base.html" %}
{% load i18n %}
{% block content %}
<form class="form-horizontal" role="form" method="post" action="">
{% csrf_token %}
{{ form }}
<button type="submit" class="btn btn-success">{% trans 'Submit' %}</button>
</form>
{# ... #}
{% endblock content %}
我可以提供更多的信息如果需要。
另一件事是在管理員中使用非ASCII大寫的國家的排序是錯誤的。但我認爲這是another issue。
我以前讀過這篇文章。我正在尋找非JS解決方案。或者我錯過了一些東西,它也是由JS在管理中排序的? – yofee 2014-09-02 15:27:15