データベースに既存のユーザーインスタンスがすでにあるとします。次に、私はちょうど私のアプリに新しいモデルを導入しました:すでにデータベースにあるDjangoのユーザーインスタンスを変更する
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='profile')
nickname = models.CharField(max_length=30, blank=True)
すべてのユーザーにUserProfileインスタンスを作成します。私は、シグナルがUser()。save()のようなものでこれを処理できることを知っています。しかし、私のデータベースに既にユーザーは何をしていますか?
try:
user.profile.nickname = 'my_nickname'
except:
profile = UserProfile()
profile.user = user
profile.nickname = 'my_nickname'
profile.save()
しかし、これは、ビューが非常に長くなります:
は現在、私はviews.py
でそれを処理します。それを行うより良い方法はありますか?
カスタムデータの移行を行い、プロファイルなしでユーザーを探す必要があります。 – Sayse