1

わかりました。これはばかげた質問ですが、ブロックされて何をすべきかわかりません。

私はグーグルとstackoverflowで検索しましたが、答えが見つかりませんでした:私はこれを試しました:

私のモデルは次のとおりです。

class UserProfile(models.Model):
    user = models.OneToOneField(User)

    quota = models.IntegerField(null = True)


def create_user_profile(sender, instance, created, **kwargs):
    if created:
        UserProfile.objects.create(user=instance)

post_save.connect(create_user_profile, sender=User)

そして、ユーザー登録に関する私の見解は次のとおりです。

def register(request):
    if request.method == 'POST': # If the form has been submitted...
        form = RegistrationForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            # Process the data in form.cleaned_data
            cd = form.cleaned_data

            #Then we create the user
            user = User.objects.create_user(cd['username'],cd["email"],cd["password1"])

            user.get_profil().quota = 20

            user.save()

            return HttpResponseRedirect('')

    else:
        form = RegistrationForm() # An unbound form

    return render(request, 'registration_form.html', {'form': form,})

InternalErrorを起動する行は次のとおりです。

user = User.objects.create_user(cd['username'],cd["email"],cd["password1"])

そしてエラーは:

InternalError at /register/

current transaction is aborted, commands ignored until end of transaction block

ご協力ありがとうございました

4

1 に答える 1

3
user = User.objects.create_user(username=form.cleaned_data['username'],
                                password=form.cleaned_data['password'], 
                                email=form.cleaned_data['email'])
user.is_active = True
user.save()
于 2013-02-13T16:23:14.187 に答える