我是 Django 新手,从带有Propel ORM引擎的 PHP 迁移而来。所以这就是我目前在 Django 中所做的事情。我的网站有几个模型,比如
- 书,
- 出版商,
- 评论,
- 文章等(这不是重点)
用户可以喜欢或不喜欢它们中的每一个(仅一次),将模型的评分更改为 +1 或 -1。
就 PHP 而言,我会创建一个行为,例如。“Rateable”,它将向原始模型和查询类(如get_rating()
、order_by_rating()
等)添加一些字段和方法,并为每个模型创建一个单独的表,例如。book_rating_history
它将保存每个对象的所有评级,以确定用户是否可以更改评级(或显示所有对象的评级,如有必要)。所以我需要做的就是在模型声明中指定“Rateable”行为,仅此而已。其他一切都是自动完成的。
问题是 - 如何在 Django 中解决这个问题?如何正确建模?您在类似情况下使用哪些技术?