我正在为Django项目工作,我编写了一个模型来存储用户详细信息。在注册后,他们完成这个自定义配置文件,我在用户模型中有一个布尔值,说明他们是否已经完成这个自定义配置文件,以便我可以在模板中进行更改。
当第二个配置文件页面的表单提交时,我希望它将Bool从False更新为True,但是我收到了错误消息:
请看下方代码:
有没有人能够提出更好的更新方法或者消除错误的建议?
当第二个配置文件页面的表单提交时,我希望它将Bool从False更新为True,但是我收到了错误消息:
'bool' object has no attribute 'has_created_artist_profile'
请看下方代码:
views.py
def ArtistEditView(request):
artist = Artist.objects.get(user=request.user)
current_artist = request.user
artist_status = current_artist.has_created_artist_profile
if request.method == 'POST':
form = ArtistForm(request.POST, request.FILES, instance=artist)
if form.is_valid():
artist_status.has_created_artist_profile = True
artist_status.save()
form.save()
return redirect(reverse('artist_home'))
else:
artist_dict = model_to_dict(artist)
form = ArtistForm(artist_dict)
return render(request, 'artist/artist_edit.html', {'form': form})
forms.py
class ArtistForm(forms.ModelForm):
class Meta:
model = Artist
exclude =['user', ]
有没有人能够提出更好的更新方法或者消除错误的建议?
current_artist.has_created_artist_profile
而不是设置artist_status
?你的问题在于你先将artist_status
设置为current_artist.has_created_artist_profile
,然后又试图再次这样做。 - Robert Seamanartist_status
中删除了has_created_artist_profile
,所以现在基本上有artist_status = True artist_status.save() form.save()
,但仍然收到相同的错误消息。 - Adam Daltonartist_status
- 它会增加混淆。我想你想要做的是current_artist.save()
。你为什么创建了artist_status
?你是想在不影响current_artist
对象的情况下做些什么吗? - Robert Seaman