0

我有这个模型

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    role = models.CharField(max_length=30)

如果我收到数据username, firstname, lastmame, email,passsword, role, 鉴于“角色”不在User model. 它在UserProfile model

4

1 回答 1

1

这是非常基本的,但它有效,我猜你正在使用 DjangoUser模型?

user = User.objects.create_user(username, email, password)
user.first_name = firstname
user.last_name = lastname
user.save()

user_profile, created = UserProfile.objects.create_or_create(user=user, role=role)

如果您发现自己经常这样做,我建议您objects使用自定义管理器方法覆盖管理器。

class UserProfileManager(models.Manager):
    def create_profile(self, user, role):
        profile = self.create(user=user, role=role)
        return profile

然后你可以用这个来调用它:

profile = UserProfile.objects.create_profile(user, role)
于 2013-03-13T07:51:50.067 回答