2013-10-10 7 views
1

У меня есть эта действительно странная проблема, и я не смог ее понять. У меня есть форма с ChoiceFields, я загружаю данные из объекта модели и устанавливаю это как значение для формы. Только половина полей фактически получает значение, указанное объектом.Django ChoiceField Начальное значение Не задано для всех ChoiceFields

Heres Форма

sku = forms.CharField(max_length=200, required=True) 
weight = forms.DecimalField(min_value=.1, max_digits=4, decimal_places=1, required=True, help_text="Enter Weight In Pounds") 
mail_class = forms.ChoiceField(choices=MAIL_CLASS, required=True) 
package_type = forms.ChoiceField(choices=PACKAGE_TYPE, required=True) 
shipping_rule = forms.IntegerField(min_value=1, required=False) 
new_weight = forms.DecimalField(min_value=.1, max_digits=4, decimal_places=1, required=False, help_text="Enter Weight for new shipping method In Pounds") 
new_mail_class = forms.ChoiceField(choices=MAIL_CLASS, required=False, initial='None') 
new_package_type = forms.ChoiceField(choices=PACKAGE_TYPE, required=False, initial='None') 
max_shipping_rule = forms.IntegerField(min_value=2, required=False) 
max_weight = forms.DecimalField(min_value=.1, max_digits=4, decimal_places=1, required=False, help_text="Enter Weight for new shipping method In Pounds") 
max_mail_class = forms.ChoiceField(choices=MAIL_CLASS, required=False, initial='None') 
max_package_type = forms.ChoiceField(choices=PACKAGE_TYPE, required=False, initial='None') 

И Heres были я поставил его в представлении

data = { 
     'sku': shipping_info.sku, 
     'weight': shipping_info.weight, 
     'mail_class': shipping_info.mailclass, 
     'package_type': shipping_info.packagetype, 
     'shipping_rule': shipping_info.shippingrule, 
     'new_weight': shipping_info.newweight, 
     'new_mail_class': shipping_info.newmailclass, 
     'new_package_type': shipping_info.newpackagetype, 
     'max_shipping_rule': shipping_info.maxshippingrule, 
     'max_weight': shipping_info.newmaxweight, 
     'max_mail_class': shipping_info.maxmailclass, 
     'max_package_type': shipping_info.maxpackagetype 
    } 

    form = ShippingType(initial=data) 

Только проблема в том mail_class choicefields будут установлены в нужное значение в шаблоне. Однако пакет package_type устанавливается только на первый вариант.

Я проверил значение получать ставить как и все Исходная она соответствует до выборов ...

Есть идеи?

ответ

1

Обнаружили, в чем проблема и что было в самой базе данных.

В конце всех типов пакетов есть пустые символы.

Теперь на эту тайну.

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

  • Нет связанных вопросов^_^