【发布时间】:2014-05-27 04:56:12
【问题描述】:
所以我正在尝试在 Django 中实现一个用户收藏夹系统。我需要存储收藏 Gallery 对象的时间,所以我使用 Django 的 many to many through 模式。正如您在下面看到的,我有一个 Gallery 对象,它与收藏它的用户具有多对多关系,而 Favorite 对象与 User 和 Gallery 具有多对一关系。我想做一些事情,比如显示一个包含所有用户收藏夹的页面,查询用户收藏夹以查看某个画廊是否在其中,等等。所以基本上能够获得某个用户收藏的画廊。使用 ORM 执行此操作的最简单方法是什么,或者我需要为此编写原始 SQL 吗?
class Gallery(models.Model):
favoriters = models.ManyToManyField(
User, through='Favorite', null=True, related_name="favoriters")
def __unicode__(self):
return self.name
class Favorite(models.Model):
user = models.ForeignKey(User)
gallery = models.ForeignKey(Gallery)
date = models.DateField(auto_now_add=True)
谢谢。
【问题讨论】: