django forms give: Select a valid choice. This choice is not one of the available choices

Я не могу поймать значения из unit_id после того, как выбор сделан пользователем и данные опубликованы. Может ли кто-нибудь помочь мне решить эту проблему.

Значения из выпадающего списка unit_id получаются из другой таблицы базы данных (LiveDataFeed). И как только значение выбрано и форма опубликована, она выдает ошибку:

Select a valid choice. Этот выбор не является одним из доступных вариантов.

Вот реализация:

в models.py:

class CommandData(models.Model):
    unit_id = models.CharField(max_length=50)
    command = models.CharField(max_length=50)
    communication_via = models.CharField(max_length=50)
    datetime = models.DateTimeField()
    status = models.CharField(max_length=50, choices=COMMAND_STATUS)  

В views.py:

class CommandSubmitForm(ModelForm):
    iquery = LiveDataFeed.objects.values_list('unit_id', flat=True).distinct()
    unit_id = forms.ModelChoiceField(queryset=iquery, empty_label='None',
        required=False, widget=forms.Select())

class Meta:
    model = CommandData
    fields = ('unit_id', 'command', 'communication_via')

def CommandSubmit(request):
    if request.method == 'POST':
        form = CommandSubmitForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponsRedirect('/')
    else:
        form = CommandSubmitForm()

    return render_to_response('command_send.html', {'form': form},
        context_instance=RequestContext(request))
15
задан Jan Pöschko 16 December 2011 в 16:05
поделиться