所以假设我在Django中有以下模型:
class Review(models.Model):
datetime = models.DateTimeField(("Date"), default=timezone.now)
class Rating(models.Model):
datetime = models.DateTimeField(("Date"), default=timezone.now)
我的观点如下:
def get_page(request, id_slug):
context_dict = {}
reviews = Review.objects.filter(attribute=id_slug).order_by('-datetime')
ratings = Rating.objects.filter(attribute=id_slug).order_by('-datetime')
context_dict['reviews'] = reviews
context_dict['ratings'] = ratings
return render(request, 'page.html', context_dict)
我想要做的是创建一个查询集,其中包含按日期时间属性排序的Review和Rating对象,如下所示:
activity = reviewsANDratings.order_by('-datetime')
context_dict['activity'] = activity
实现这一目标的最佳方式是什么?
谢谢!
答案 0 :(得分:0)
如果您的模型基本上是相同的,或彼此的父/子,请考虑使用Django polymorphic,这将让您获得所有Review
s 和 { {1}}在一个Rating
中。{/ p>
对于更多不同的模型,(或者为了更简单的实现),只需执行两个查询,就像现在一样,并将这些项合并到Python中,如下所示:
PolymorphicQuerySet