Non riesco a rilevare i valori dal unit_id
dopo che la selezione è stata effettuata dall'utente e i dati sono stati pubblicati. Qualcuno può aiutarmi a risolvere questo.forme django danno: selezionare una scelta valida. Quella scelta non è una delle scelte disponibili
I valori dell'elenco unit_id
vengono visualizzati da un'altra tabella di database (LiveDataFeed
). E una volta selezionato un valore e inviato il modulo, viene visualizzato l'errore:
Selezionare una scelta valida. Quella scelta non è una delle scelte disponibili.
Ecco l'attuazione:
in 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)
In 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))
Sostituisce '.distinct' a' .distinct() 'help? –
Quello era un errore sopra ... è già codificato come .distinct() ... – user1102171