如何将操作记录到Django中的数据库表?

时间:2013-06-15 12:45:24

标签: django

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

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

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

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

1 个答案:

答案 0 :(得分:0)

如果您希望只保留id movie而不是FKuser的关系,则只需创建一个PickleField,然后存储一个列表该字段中用户的“喜欢”作为列表或元组。每次更改时,您都可以更新Movie对象的此字段。

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

((id, movie_name), (id, movie_name), ...) 的另一个优点是您可以将数据存储在以下格式中:

{{1}}

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

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