gpt4 book ai didi

django - 将自定义字段添加到 django 中的 auth_user 表

转载 作者:行者123 更新时间:2023-12-03 17:52:01 24 4
gpt4 key购买 nike

我想将我的自定义 TrustAdministration 字段添加到 django 中的 Auth_User 表

这是我的 模型.py

from django.db import models
from django.contrib.auth.models import User

class Trust(models.Model):
name = models.CharField(max_length=200)

class TrustAdministration(models.Model):
user = models.OneToOneField(User)
full_name = models.CharField(max_length=200)
email = moels.CharField(max_length=75)

form.py
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from models import Trust, TrustAdministration

class TrustForm(form.ModelForm):
class Meta():
model = Trust

class TrustAdministration(forms.ModelForm):
class Meta():
model = TrustAdministration

class UserCreateForm(UserCreationForm):
class Meta():
model = User

view.py
def trust_registration(request):
if request.POST:
trust_form = TrustForm(request.POST, instance=Trust())
trust_admin_form = TrustAdministrationForm(request.POST,instance=TrustAdministration())
user_form = UserCreateForm(request.POST)
if trust_form.is_valid() and trust_admin_form.is_valid() and user_form.is_valid():
username = request.POST['username']
password = request.POST['password']
new_user = User.objects.create_user(username=username, password=password)
new_user.save()
new_trust = trust_form.save()
new_trust_admin = trust_admin_form.save(commit = False)
new_trust_admin.trust = new_trust
new_trust_admin.user = new_user
new_trust_admin.email = username
new_trust_admin.save()
else:
return HttpResponseRedirect('/registration/trust_registration')
return HttpResponseRedirect('/registration/trust_details')
else:
trust_form = TrustForm()
trust_admin_form = TrustAdministrationForm()
user_form = UserCreateForm()

return render(request, 'trust/trust_registration.html', {'trust_form': trust_form,
'trust_admin_form' : trust_admin_form,
'user_form' : user_form})

当我提交表单时,它给出了错误 需要密码 ,但是 用户创建表单在表单上显示 password1 和 password2 的文本字段。

并告诉我为 创建用户条目的方式是对还是错信托管理模型。

最佳答案

你有:

email = moels.CharField(max_length=75)

看起来您只是拼错了模型:
email = models.CharField(max_length=75)

关于django - 将自定义字段添加到 django 中的 auth_user 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19314389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com