0
我想显示登录用户的表格,他们可以输入name
和sensitivity
,但是这需要与登录用户相关联(目前正在尝试与外键和init)。这是我的方法:Django:自动输入当前登录的用户作为值的形式
浏览:
@login_required
def restricted(request):
context = RequestContext(request)
if request.method == 'POST':
form = TrackForm(request.user, request.POST)
if form.is_valid():
form.save(commit=True)
return index(request)
else:
print form.errors
else:
form = TrackForm()
return render_to_response('tracker/restricted.html', {'form': form}, context)
形式:
class TrackForm(forms.ModelForm):
name = forms.CharField(help_text="Please enter a name")
sensitivity = forms.IntegerField(help_text="Sensitivity: 1=Low Sensitivity, 2=Standard Sensitivity, 3=Highly Sensitive", initial=0)
def __init__(self, user, *args, **kwargs):
self.user = user
super(TrackForm, self).__init__(*args, **kwargs)
class Meta:
model = ToTrack
fields = ('name','sensitivity')
型号:
class ToTrack(models.Model):
name = models.CharField(max_length=128)
sensitivity = models.IntegerField(default=0)
user = models.ForeignKey(User)
def __unicode__(self):
return self.name
我目前得到的错误信息:
TypeError at /tracker/restricted/
__init__() takes at least 2 arguments (1 given)
感谢哈桑,我觉得我按照这里的逻辑:d我现在越来越错误:TypeError at/tracker/restricted/ __init __()得到关键字参数'user'的多个值 – William 2014-10-12 15:24:41