跳到主要内容

user表关联profile表

本节开始我们来实现收藏和取消收藏的功能。

在Django中,自带了一个auth_user表,用于存储用户信息,但是这个表的字段有限,所以,我们新建一个profile表,其与auth_user表是一对一关系,将额外的用户信息字段都添加到profile表中。

本节课主要介绍了在Django中如何创建和管理用户表和扩展的profile表之间的关联关系。通过使用一对一和多对多的关系,可以实现用户表和profile表之间的数据关联和操作。

创建profile表​

首先,在Django的models.py文件中,创建一个Profile类作为profile表的模型。这个类与auth_user表是一对一的关联关系,与movie表是多对多的关联关系。表关系如下图所示。

图49-模型关系

在Profile类中,定义了一些扩展字段,例如手机号、邮箱和头像。同时,使用shortuuidfield模块生成一个随机的ID,而不使用自增的ID。在安装shortuuidfield模块后,需要导入该模块并在Profile类中使用它。

创建关联表​

当user表和movie表之间是多对多的关系时,Django将自动创建一个关联表来管理这两个表之间的关联数据。这个关联表包含三个字段:id、profile id和movie id。通过这两个id字段,可以将用户和电影进行关联。

在account/models.py文件中新增Profile模型类, 代码如下:

🔒 试读结束

继续阅读完整内容

以上为免费预览。前往「Django + Vue 全栈课程」,查看后续完整讲解、案例演示和配套资料。

查看课程详情