Tôi không thể nắm bắt các giá trị từ unit_id
sau khi lựa chọn được thực hiện bởi người dùng và dữ liệu được đăng. Ai đó có thể giúp tôi giải quyết vấn đề này.biểu mẫu django cung cấp: Chọn một lựa chọn hợp lệ. Lựa chọn đó không phải là một trong các lựa chọn có sẵn
Giá trị của danh sách thả xuống unit_id
được lấy từ một bảng cơ sở dữ liệu khác (LiveDataFeed
). Và khi giá trị được chọn và biểu mẫu được đăng, nó sẽ cho lỗi:
Chọn một lựa chọn hợp lệ. Lựa chọn đó không phải là một trong những lựa chọn có sẵn.
Đây là việc thực hiện:
trong 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)
Trong 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))
Có thay đổi trợ giúp '.distinct' thành' .distinct() 'không? –
Đó là lỗi đánh máy trên ... nó đã được mã hóa là .distinct() ... – user1102171