0

我正在制作一个包含用户和电影的 Django 应用程序。用户可以“喜欢”电影,我希望有一个数据库表来保存用户和他们喜欢的电影之间的关系。

我没有电影表,只有用户表,每次用户喜欢电影时,我想在表中创建一条记录,例如:

uid = 10, mid = 325(uid 为 10 的用户喜欢 id 为 325 的电影)

等等

最初我以为我会为“喜欢”创建一个模型,但我不完全确定这是否是这种简单动作的最佳方法。此类活动是否有推荐标准?

4

1 回答 1

0

如果您只想保留idof movie,而不是FK与它的关系,您可以简单地创建一个PickleField,并将该字段中用户的“喜欢”列表存储为列表或元组。每次更改时,您只需更新user对象的此字段即可。

如果您以后需要访问这些Movie对象,您可以使用您拥有的电影 ID 列表查询数据库。

的另一个优点PickleField可能是您可以将数据存储在表单中:

((id, movie_name), (id, movie_name), ...)

这样,您不必只查询电影名称。

这是传统外键相关表的替代方案;

于 2013-06-15T12:52:25.937 回答