2013-03-13 55 views
0

我有這個模型如何模型的數據保存oneToOne關係

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

如果我收到的數據usernamefirstnamelastmameemail,passswordrole,我怎麼爲這個用戶創建一個配置文件,因爲'角色'不在User model中。其在UserProfile model

回答

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)