小编Boo*_*uez的帖子

在Django基于类的视图中保存inlineformset(CBV)

因此,我正在开发一个Web应用程序,该应用程序已在其注册过程中实现了安全性问题.由于我的模型设置方式以及我尝试使用Django基于类的视图(CBV)的事实,我有一些问题,让这一切都干净整合.这是我的模型的样子:

Model.py

class AcctSecurityQuestions(models.Model):
    class Meta:
        db_table = 'security_questions'
    id = models.AutoField(primary_key=True)
    question = models.CharField(max_length = 250, null=False)

    def __unicode__(self):
        return u'%s' % self.question


class AcctUser(AbstractBaseUser, PermissionsMixin):
    ...
    user_questions = models.ManyToManyField(AcctSecurityQuestions, through='SecurityQuestionsInter')
    ...


class SecurityQuestionsInter(models.Model):
    class Meta:
        db_table = 'security_questions_inter'

    acct_user = models.ForeignKey(AcctUser)
    security_questions = models.ForeignKey(AcctSecurityQuestions, verbose_name="Security Question")
    answer = models.CharField(max_length=128, null=False)
Run Code Online (Sandbox Code Playgroud)

这是我目前的观点:

View.py

class AcctRegistration(CreateView):
    template_name = 'registration/registration_form.html'
    disallowed_url_name = 'registration_disallowed'
    model = AcctUser
    backend_path = 'registration.backends.default.DefaultBackend'
    form_class = AcctRegistrationForm
    success_url = 'registration_complete'

def form_valid(self, form):
    context = self.get_context_data() …
Run Code Online (Sandbox Code Playgroud)

django inline-formset django-class-based-views

2
推荐指数
1
解决办法
3367
查看次数