Django:在一个查询中为每个外键关系获取唯一项

时间:2015-03-23 13:27:23

标签: python django django-queryset django-filter

我有2个模特

class Store(models.Model):
    name = models.Charfield()

class Book(models.Model):
    name = models.Charfield()
    timestamp = models.Datetimefield()
    store = models.ForeignKey(store)

我目前为每家商店购买最新书籍的目的是:

stores = Store.objects.filter(name__contains = "stackoverflow")
latest_books = []
for store in stores:
    latest_books.append(Book.objects.filter(store_id = store.id).latest("timestamp"))

但是,如果商店太多,这会导致大量的查询

是否可以在一个查询中执行此操作以及如何执行此操作?

我使用的是django 1.5和mysql,所以mysql不支持.distinct(“timestamp”):)

0 个答案:

没有答案