下面的技巧也似乎在這兩個Django管理和形式在視圖中定義的工作:
from django.contrib.localflavor.us.us_states import STATE_CHOICES
USStateField.choices = STATE_CHOICES
這裏的事情是,在contrib請/ localflavor /美國/ forms.py的forms.py定義有USStateSelect小部件將選項定義爲STATE_CHOICES。但是,contrib/localflavor/us/models.py中的模型沒有定義這些選擇。這樣,空白=該字段的真設置不會導致在選擇中正確的空白第一項,我發現看着db/models/fields/init .py。
另一種解決方法是改變了contrib/localflavor /美國/ models.py添加一個構造函數是這樣的:
class USStateField(Field):
def __init__(self, *args, **kwargs):
from us_states import STATE_CHOICES
kwargs.setdefault('max_length', 2)
kwargs.setdefault('choices', STATE_CHOICES)
super(USStateField, self).__init__(*args, **kwargs)
# etc. etc.
謝謝你,這就是我正在尋找的東西。 – MegaBytes 2015-03-10 07:07:05