2013-10-22 59 views
0

所以,我想实现Django表单选择控件,输入到Model.It OneToOne区出现过,但问题是不知道如何填写它与初始数据。灌装Django的选择字段

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_id = forms.ChoiceField(label = 'Обход', widget = forms.Select) 

回答

1

你应该使用ModelChoiceField,并把它传递一个查询集,这样的:

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

+0

谢谢,作品非常好! – Sykes

0

当调用表单对象到您的视图中,可以使用初始预填充字段。

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}) 

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

+0

我会记下它,谢谢! – Sykes