要解决“保存通过多对多关系的嵌套属性时必须存在错误”,您可以按照以下步骤进行操作:
from django.db import models
class User(models.Model):
name = models.CharField(max_length=100)
groups = models.ManyToManyField('Group', related_name='users')
class Group(models.Model):
name = models.CharField(max_length=100)
form.save()
来保存用户和组的关系。from django.shortcuts import render
from .forms import UserGroupForm
def save_user_group(request):
if request.method == 'POST':
form = UserGroupForm(request.POST)
if form.is_valid():
form.save()
return render(request, 'success.html')
else:
form = UserGroupForm()
return render(request, 'user_group.html', {'form': form})
from django import forms
from .models import User
class UserGroupForm(forms.ModelForm):
groups = forms.ModelMultipleChoiceField(queryset=Group.objects.all(), widget=forms.CheckboxSelectMultiple)
class Meta:
model = User
fields = ['name', 'groups']
这样,当您提交表单时,Django将会自动保存用户和组之间的多对多关系。如果没有错误出现,它将重定向到成功页面。如果有任何错误发生,它将在表单中显示错误信息。
请注意,这只是一个基本示例,您可能需要根据您的具体需求进行适当的更改和调整。