必须将配置文件选项设置为ManyToManyField才能正常工作。
所以…您的模型应如下所示:
class Choices(models.Model): description = models.CharField(max_length=300)class Profile(models.Model): user = models.ForeignKey(User, blank=True, unique=True, verbose_name='user') choices = models.ManyToManyField(Choices)
然后,同步数据库并使用所需的各种选项加载“选择”。
现在,ModelForm将自行构建…
class ProfileForm(forms.ModelForm): meta: model = Profile exclude = ['user']
最后,视图:
if request.method=='POST': form = ProfileForm(request.POST) if form.is_valid(): profile = form.save(commit=False) profile.user = request.user profile.save()else: form = ProfileForm()return render_to_response(template_name, {"profile_form": form}, context_instance=RequestContext(request))
应该提到的是,您可以通过几种不同的方式来建立配置文件,包括继承。也就是说,这也应该为您工作。
祝好运。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)