我在哪里存储用户个人信息



我正在创建一个应用程序,其中用户使用用户名、电子邮件和密码注册。这些数据存储在一个表中。但随后用户输入个人资料信息,如照片、个人简介、活动等。是否将此数据存储在与用户名、电子邮件和密码相同的表中?还是创建另一个表,以某种方式将它们链接起来?

你可以用OneToOne关系创建一个不同的表UserProfile

class UserProfile(models.Model):  
user = models.OneToOne(User, unique=True)
location = models.CharField(max_length=140)  
bio = models.CharField(max_length=140)  
profile_picture = models.ImageField(upload_to='profile_pics', blank=True)

在settings.py中:

AUTH_USER_MODEL = 'accounts.User'

您希望扩展User模型以包含其他信息。对此,推荐的方法是创建另一个类似Profile的模型,并设置与用户的OneToOne关系。

您可以创建一个包含您想要存储的信息的新表,但最重要的是将新表与来自userid

的userid连接起来
CREATE TABLE USER_INFORMATIONS(
Information_ID SERIAL PRIMARY KEY,
USER_ID (int or varchar acoording to the user table),
…
FOREIGN KEY (USER_ID) REFERENCES Users(Id)
);

相关内容

  • 没有找到相关文章

最新更新