Django 无法分配"&书信电报;SimpleLazyObject:<;用户:管理员>&燃气轮机&引用;:&引用;“项目经理”;必须是一个";Profil";实例
您好,我在开始保存表单时出现此错误Django 无法分配"&书信电报;SimpleLazyObject:<;用户:管理员>&燃气轮机&引用;:&引用;“项目经理”;必须是一个";Profil";实例,django,django-models,django-forms,Django,Django Models,Django Forms,您好,我在开始保存表单时出现此错误 Cannot assign "<SimpleLazyObject: <User: admin>>": "Project.manager" must be a "Profil" instance. project.model.py project.views.py project.forms.py 我希望每个用户或经理都能通过表单链接到他们发布的项目。 如何通过保存模型来链接这两个模型 谢谢代替 project.manager = re
Cannot assign "<SimpleLazyObject: <User: admin>>": "Project.manager" must be a "Profil" instance.
project.model.py
project.views.py
project.forms.py
我希望每个用户或经理都能通过表单链接到他们发布的项目。
如何通过保存模型来链接这两个模型
谢谢代替
project.manager = request.user
你应使用:
project.manager = request.user.profil
错误似乎很明显:将用户而不是profile分配给项目对象。但是,您显示的代码在Project中没有manager字段;请确保显示您正在使用的实际代码。是。我错误地忘记在project.models.py中添加manager字段
def project_new(request):
if request.method == 'POST':
form = ProjectForm(request.POST)
if form.is_valid():
project = form.save(commit = False)
project.manager = request.user
project.save()
else:
form = ProjectForm()
return render(request, 'project/project_new.html', {'form': form})
class ProjectForm(forms.ModelForm):
title = forms.CharField(label='Titre')
description = forms.CharField(widget=CKEditorUploadingWidget())
category = forms.ModelChoiceField(queryset = Category.objects.all(), label='Catégorie')
#description = forms.CharField(widget=forms.Textarea(attrs={'cols': 80, 'rows': 20}))
class Meta:
model = Project
fields = ('title', 'nb_days', 'slogan', 'category', 'description')
project.manager = request.user
project.manager = request.user.profil