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