gpt4 book ai didi

python - Django:用户信息分为 "User"和 "Person"模型

转载 作者:行者123 更新时间:2023-11-30 23:01:08 24 4
gpt4 key购买 nike

每当我创建新帐户时,我输入的信息“first_name”、“last_name”、“username”、“age”、“city”、“state”、“email”都会在内置用户模型之间拆分以及我创建的 Person 模型。当我单击刚刚创建的用户时,我可以在管理站点上看到这种情况发生。

人物模型:

class Person(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
username = models.CharField(max_length=200, null=True)
first_name = models.CharField(max_length=200, null=True)
last_name = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200, null=True)
city = models.CharField(max_length=200, null=True)
state = models.CharField(max_length=200, null=True)
age = models.CharField(max_length=50, null=True)

查看创建帐户:

def create_account(request):
if request.method == 'POST':
new_user = User(username = request.POST["username"],
email=request.POST["email"],
first_name=request.POST["first_name"],
last_name=request.POST["last_name"])
new_user.set_password(request.POST["password"])
new_user.save()
Person.objects.create(user=new_user,
age=str(request.POST.get("age")),
city=str(request.POST.get("city")),
state=str(request.POST.get("state")))
new_user.is_active = True
new_user.save()
return redirect('../')
else:
return render(request, 'polls/create_account.html')

我知道问题出在这个模型和 View 中,我只是无法概念化如何将我提交的所有信息放入 Person 模型中(因为 User 模型只有“first_name”、“last_name”、“email “属性)。

最佳答案

由于您的 Person 模型与 User 具有一对一的关系,因此您不需要存储 用户名first_namelast_name 字段。只需将它们保留在User 模型中并通过关系访问它们即可,毕竟您使用的是关系数据库

关于python - Django:用户信息分为 "User"和 "Person"模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35002504/

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