Nie mogę przechwycić wartości z unit_id
po dokonaniu wyboru przez użytkownika i opublikowaniu danych. Czy ktoś może mi pomóc rozwiązać ten problem?Formularze django dają: Wybierz prawidłowy wybór. Ten wybór nie jest jednym z dostępnych wyborów
Wartości z rozwijanej listy unit_id
są uzyskiwane z innej tabeli bazy danych (LiveDataFeed
). Po wybraniu wartości i wysłaniu formularza pojawia się błąd:
Wybierz poprawny wybór. Ten wybór nie jest jednym z dostępnych wyborów.
Oto realizacja:
w 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)
W 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))
Czy zmiana '.distinct' na' .distinct() 'pomaga? –
To był literówka powyżej ... jest już zakodowana jako .distinct() ... – user1102171