【发布时间】:2012-01-22 02:15:54
【问题描述】:
在用户完成选择并发布数据后,我无法从unit_id 中获取值。谁能帮我解决这个问题。
unit_id 下拉列表的值是从另一个数据库表 (LiveDataFeed) 中获取的。一旦选择了一个值并发布了表单,它就会给出错误:
选择一个有效的选项。该选项不是可用选项之一。
这里是实现:
在 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))
【问题讨论】:
-
将
.distinct更改为.distinct()有帮助吗? -
那是上面的错字...它已经被编码为 .distinct()...
标签: django django-forms