Django - 错误 - 选择一个有效的选择。 [<some choice =“”>]不是可用选项之一

时间:2016-05-15 15:52:33

标签: python django

views.py

type_choices = (
    ('Рассвет/Закат', 'Рассвет/Закат'),('Ландшафт', 'Ландшафт'),('Природа', 'Природа'),
    ('Вода', 'Вода'),('Животные', 'Животные'),('Люди', 'Люди'),
    ('Архитектура', 'Архитектура'),('Город', 'Город'),('Астрофото', 'Астрофото'),
    ('Панорама', 'Панорама'),('Транспорт', 'Транспорт'),('Свадьба', 'Свадьба'),
)

visit_choices = (
    ('Январь', 'Январь'),('Февраль', 'Февраль'),('Март', 'Март'),
    ('Апрель', 'Апрель'),('Май', 'Май'),('Июнь', 'Июнь'),
    ('Июль', 'Июль'),('Август', 'Август'),('Сентябрь', 'Сентябрь'),
    ('Октябрь', 'Октябрь'),('Ноябрь', 'Ноябрь'),('Декабрь', 'Декабрь'),
)

class Location(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
    name = models.CharField(max_length=100, verbose_name="Локация", default='')
    types = models.CharField(max_length=50, verbose_name="Тип локации", choices=type_choices, default='')
    visit_times = models.CharField(max_length=50, verbose_name="Лучшее время для съемки", choices=visit_choices, default='')
    photos = models.ImageField(upload_to='photos', null=True, blank=True)
    keywords = models.CharField(max_length=100, verbose_name="Ключевые слова", default='')
    description = models.TextField(null=True, blank=True)

    def __unicode__(self):
        return self.name

models.py

class LocationForm(forms.ModelForm):
    class Meta:
        model = Location
        fields = ['name', 'types', 'visit_times', 'photos', 'keywords', 'description']
        widgets = {
            'name': forms.TextInput(attrs={'placeholder': 'Напр. Стоунхендж'}),
            'types': forms.SelectMultiple(),
            'visit_times': forms.SelectMultiple(),
            'keywords': forms.TextInput(attrs={'placeholder': 'Напр. море, побережье, скалы'}),
            'description': forms.Textarea(attrs={'placeholder': 'Любая информация, которую посчитаете нужной'})
        }

forms.py

$('#clearButton').on('click', function() {
    alert('Clear the value in the "birthday" field...');
    $('#birthdayDate').val('');
    // what now?
})

我填写页面上的字段并在SELECT字段上做一些选择。然后我按下按钮并在SELECT字段上得到错误 - &gt;选择一个有效的选择。 [某种选择]不是可用的选择之一

非常感谢!

1 个答案:

答案 0 :(得分:1)

尝试

public boolean equal(Object o){
   Subject b = (Subject) o;
   return (this.name.equal(b.name) && this.code.equal(b.code));
}

您在模型中定义了类型,并且visit_times只能从选项中获得一个值。可以获得更多选择,但您必须考虑如何将此数据保存到数据库。看看这个:

https://pypi.python.org/pypi/django-multiselectfield/

https://pypi.python.org/pypi/django-select-multiple-field/