我正在制作一个包含用户和电影的 Django 应用程序。用户可以“喜欢”电影,我希望有一个数据库表来保存用户和他们喜欢的电影之间的关系。
我没有电影表,只有用户表,每次用户喜欢电影时,我想在表中创建一条记录,例如:
uid = 10, mid = 325
(uid 为 10 的用户喜欢 id 为 325 的电影)
等等
最初我以为我会为“喜欢”创建一个模型,但我不完全确定这是否是这种简单动作的最佳方法。此类活动是否有推荐标准?
我正在制作一个包含用户和电影的 Django 应用程序。用户可以“喜欢”电影,我希望有一个数据库表来保存用户和他们喜欢的电影之间的关系。
我没有电影表,只有用户表,每次用户喜欢电影时,我想在表中创建一条记录,例如:
uid = 10, mid = 325
(uid 为 10 的用户喜欢 id 为 325 的电影)
等等
最初我以为我会为“喜欢”创建一个模型,但我不完全确定这是否是这种简单动作的最佳方法。此类活动是否有推荐标准?
如果您只想保留id
of movie
,而不是FK
与它的关系,您可以简单地创建一个PickleField
,并将该字段中用户的“喜欢”列表存储为列表或元组。每次更改时,您只需更新user
对象的此字段即可。
如果您以后需要访问这些Movie
对象,您可以使用您拥有的电影 ID 列表查询数据库。
的另一个优点PickleField
可能是您可以将数据存储在表单中:
((id, movie_name), (id, movie_name), ...)
这样,您不必只查询电影名称。
这是传统外键相关表的替代方案;