私のプロジェクトでは、ログイン後、ユーザーはいくつかのプロセスを経て個人情報を入力し、いくつかのファイルをアップロードする必要があります
これで、認証プロセスが完了しました
UserProfile には 3 つのフィールドしかありません
models.py
class UserProfile(models.Model):
user = models.OneToOneField(User)
#activation_key is used in my account registration process
activation_key = models.CharField(max_length=40)
#activation link should be only valid for one day
key_expires = models.DateTimeField()
def __unicode__(self):
return self.user.username
これら 3 つのフィールドは、認証プロセスを適切に機能させるのに十分です。
最初の DB 設計では、個人の詳細とファイルを保持するために他のテーブルを使用しました (ユーザーの追加データを保持するために UserProfile を使用することになっていることをまだ認識していなかったため)。しかし、認証プロセスを経て、スタックオーバーフローで多くの投稿に出くわした後、データを UserProfile テーブルに入れる必要があるようです。
だから私の質問は、
UserProfile には、認証プロセス (例: activation_key key_expire_date) と特定のデータ (例: 名前、国、画像) の両方のデータを含めることができますか? (現在、私の UserProfile には認証プロセスのデータのみが含まれています)
この状況では、今すぐ新しいフィールドを追加するか、追加情報を保持する別のテーブルを作成します。どちらが Django プロジェクトのより良い方法ですか?
UserProfile に新しいフィールドを追加すると、以前の認証機能に影響しますか? (profile.save() の問題が少し心配です..)
明確にしていただきありがとうございます。