2013-04-17 98 views
0

如何設置窗體的定義值?Django窗體 - 定義值

型號

class Record(models.Model): 
    user=models.ForeignKey(User) 
    foo=models.CharField(max_length=100) 

class AddForm(forms.ModelForm): 
    class Meta: 
     model=Record 

查看

class AddRecord(CreateView): 
    template_name="any/any.html" 
    form_class=AddForm 
    model=Record 

如果發送<input type="text" name="user" value="ANY_USER_ID"/>和更改記錄任何用戶

如何設置字段用戶默認值是:request.session.user

回答

2

您可以覆蓋在你的窗體類get_initial返回初始數據字典:

class AddRecord(CreateView): 
    def get_initial(self): 
     return {'user': self.request.user} 

但是實際上你真正想要做的並不是根據表單顯示用戶,而是在保存時自動設置爲the documentation describes