我有这个模型
class UserProfile(models.Model):
user = models.OneToOneField(User)
role = models.CharField(max_length=30)
如果我收到数据username
,firstname
,lastmame
,email,passsword
,role
,我将如何为此用户创建个人资料,鉴于“角色”不在User model
中。它在UserProfile model
。
答案 0 :(得分:1)
这是非常基本的,但它有效,我猜你正在使用Django User
模型?
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)