0

私はこのモデルを持っています

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

usernameデータを受け取った場合、、、、、、 'role'がにない場合firstname、このユーザーのプロファイルを作成するlastmameemail,passswordroleどうすればよいですかUser model。そのでUserProfile model

4

1 に答える 1

1

Userこれは非常に基本的なことですが、機能し、Djangoモデルを使用していると思いますか?

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 に答える