Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将当前登录用户分配给django中的models对象_Python_Django - Fatal编程技术网

Python 如何将当前登录用户分配给django中的models对象

Python 如何将当前登录用户分配给django中的models对象,python,django,Python,Django,我有一个用户,他将创建一个公司简介。该用户由django的django.contrib.auth.models创建。因此,问题是将当前登录的用户分配给公司配置文件的用户。 my models.py是: class Company_Profile(models.Model): user = models.ForeignKey(User) logo = models.ImageField(_('Company Logo'), upload_to='image', null=True, bla

我有一个用户,他将创建一个公司简介。该用户由django的django.contrib.auth.models创建。因此,问题是将当前登录的用户分配给公司配置文件的用户。 my models.py是:

class Company_Profile(models.Model):
  user = models.ForeignKey(User)
  logo = models.ImageField(_('Company Logo'), upload_to='image', null=True, blank=True)
  address = models.TextField(_('Contact Address'), max_length=50)
  phone_no = models.IntegerField(_('Contact No'), max_length=12)
我的forms.py是:

class Company_Prof(forms.ModelForm):
  class Meta:
    model = Company_Profile
    fields = ('logo','address','phone_no')
我对公司简介的看法是:

@login_required()
def company_prof(request):
 if request.method == 'POST':
    comp_prof = Company_Prof(request.POST or None)
    comp_prof.user = User.objects.get(username=request.user) 
    if comp_prof.is_valid():
        save_prof = comp_prof.save(commit=False)
        save_prof.save()
        messages.success(request, 'Thank you for Registration')
        return HttpResponseRedirect('company/'+str(save_prof.id))
else:
    comp_prof =Company_Prof()
variables = RequestContext(request, {
    'comp_form': Company_Prof()})
return render_to_response("comp_profile.html",
                          locals(),
                          context_instance = RequestContext(request))
请帮帮我

不对

不对

不对

不对


两件事:第一,使用commit=False保存对象将创建对象,但在调用save with commit=True之前不会将其提交到数据库。因此,可以在这两条线之间修改对象

第二:当前用户对象在您的请求中作为“用户”可用。调用request.user将返回用户对象

因此,对于您的情况,您需要在再次调用save之前分配user对象,如下所示:

save_prof = comp_prof.save(commit=False)
save_prof.user = request.user
save_prof.save()

两件事:第一,使用commit=False保存对象将创建对象,但在调用save with commit=True之前不会将其提交到数据库。因此,可以在这两条线之间修改对象

第二:当前用户对象在您的请求中作为“用户”可用。调用request.user将返回用户对象

因此,对于您的情况,您需要在再次调用save之前分配user对象,如下所示:

save_prof = comp_prof.save(commit=False)
save_prof.user = request.user
save_prof.save()

两件事:第一,使用commit=False保存对象将创建对象,但在调用save with commit=True之前不会将其提交到数据库。因此,可以在这两条线之间修改对象

第二:当前用户对象在您的请求中作为“用户”可用。调用request.user将返回用户对象

因此,对于您的情况,您需要在再次调用save之前分配user对象,如下所示:

save_prof = comp_prof.save(commit=False)
save_prof.user = request.user
save_prof.save()

两件事:第一,使用commit=False保存对象将创建对象,但在调用save with commit=True之前不会将其提交到数据库。因此,可以在这两条线之间修改对象

第二:当前用户对象在您的请求中作为“用户”可用。调用request.user将返回用户对象

因此,对于您的情况,您需要在再次调用save之前分配user对象,如下所示:

save_prof = comp_prof.save(commit=False)
save_prof.user = request.user
save_prof.save()