这是我的代码:
from django.db import models
from django.contrib.auth.models import User
class Person(models.Model):
user = models.OneToOneField(User, primary_key=True)
title = models.CharField(max_length=3, choices=PERSON_TITLE_CHOICES)
first_name = models.CharField(max_length=100)
基本上,我想要做的是,当我注册一个新用户时,我想保存一个Person模型,已经与用户有关系了。
答案 0 :(得分:0)
这里有两种选择。您可以为User注册保存后挂钩并在那里创建您的Person,也可以一起创建它们。我做后者。只需确保将它们包装在一个事务中,这样如果一个失败,另一个也会:
with django.db.transaction.commit_on_success():
user = User(...)
user.save()
person = Person(user = user, ...)
person.save()