填充django选择字段

时间:2013-10-22 11:45:23

标签: python django django-models django-forms

所以,我正在尝试在Django Form中实现选择小部件,输入到Model.It中的 OneToOne 区域,但问题是不知道如何使用初始数据填充

models.py

class Check(models.Model):
    name = models.CharField(max_length = 100)
    def __unicode__(self):
         return self.name

class Check_date(models.Model):
    date = models.DateTimeField()
    check = models.ForeignKey(Check)

    def __unicode__(self):
         return '%s' % (self.date)

forms.py

class Check_DateForm(forms.Form):
date = forms.DateTimeField(label = 'Time of Check', widget  = forms.DateTimeInput)
check_id = forms.ChoiceField(label = 'Check ID', widget = forms.Select)

所以,必须有一些选择,导致Check模型。我在谈论这个输入。

check_id = forms.ChoiceField(label = 'Обход', widget = forms.Select)

2 个答案:

答案 0 :(得分:1)

你应该使用ModelChoiceField,然后传递一个查询集,如下所示:

check_id = forms.ModelChoiceField(queryset=Check.objects.all())

答案 1 :(得分:0)

在您的视图中调用表单对象时,可以使用initial预填充字段。

 def view(request):
        game = Game.objects.get(id=1) # just an example
        data = {'id': game.id, 'name': game.name}
        form = UserQueueForm(initial=data)
        return render_to_response('my_template.html', {'form': form})

当表单放入模板时,它将预先填充这些字段。