我有多对多字段,但每次我在表单中保存数据时,除此字段(多对多字段)之外的所有数据都保存
这是我的views.py
@login_required()
def post_update(request,id):
post = get_object_or_404(Post,id=id)
form = PostForm(request.POST or None,request.FILES or None,instance=post )
if request.method == 'POST':
if form.is_valid():
instance =form.save(commit=False)
instance.user = request.user
instance.save()
form.save_m2m()
messages.success(request, "You successfully updated the post")
return redirect(reverse("home:post",kwargs={"id":post.id}))
context={"form":form}
return render(request,"post_update.html",context)
这是错误:
Internal Server Error: /post/update/4/
Traceback (most recent call last):
File "C:\Users\abdal\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\abdal\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\handlers\base.py", line 179, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\abdal\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\contrib\auth\decorators.py", line 21, in _wrapped_view
return view_func(request, *args, **kwargs)
File "G:\Web Development\Back End\JustDjango\Build any blog with Django\Blog\blog\BlogApp\views.py", line 111, in post_update
form.save_m2m()
File "C:\Users\abdal\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\forms\models.py", line 443, in _save_m2m
f.save_form_data(self.instance, cleaned_data[f.name])
File "C:\Users\abdal\AppData\Local\Programs\Python\Python38-32\lib\site-packages\taggit\managers.py", line 543, in save_form_data
getattr(instance, self.name).set(*value)
TypeError: set() argument after * must be an iterable, not NoneType