自定义表单作者-自动将作者保存到DB

| 我有一个自定义表单...我想自动保存表单数据的作者(经过身份验证的用户)。我正在使用ModelForm创建表单。 models.py
    class Tracker(models.Model):
        client = models.ForeignKey(Clients)
        user = models.ForeignKey(User)
        description = models.TextField()
...
我也将自定义配置文件链接到django users表... auth也可以正常工作...我可以读取用户和id ... 表格
class TrackerForm(ModelForm):
    def __init__(self, *args, **kwargs):
        super(TrackerForm, self).__init__(*args, **kwargs)
        self.fields.keyOrder = [\'date_job_start\',\'date_job_end\',\'description\',\'onsite\',\'billable\',\'client\']
    class Meta:
        model = Tracker
        widgets = {
            \'client\': HiddenInput(),
        }
从上层阶级创建表单时,我尝试保存它...它需要用户数据(缺少警告)。我如何更改它,以便它将自动保存经过身份验证的用户,而不是要求它?我知道我没有在此处定义用户字段...这是因为我不想为此下拉菜单...我希望用户从身份验证中保存...而无需进行任何选择或显示... 附注:我知道
initial
选项...必须有更好的方法吗? 谢谢! BR     
已邀请:
        
class TrackerForm(ModelForm):
    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop(\'user\')
        super(TrackerForm, self).__init__(*args, **kwargs)
        self.fields.keyOrder = [\'date_job_start\',\'date_job_end\',\'description\',\'onsite\',\'billable\',\'client\']

    class Meta:
        model = Tracker
        widgets = {
        \'    client\': HiddenInput(),
        }
        exclude = (\'user\',)

    def save(self):
        obj = super(TrackerForm, self).save(commit=False)
        obj.user = self.user
        obj.save()
        return obj
并且鉴于:
form = TrackerForm(user=request.user) #and other parameters
    

要回复问题请先登录注册