我正在Django建立一个项目。它就像一个博客页面,用户可以在其中发布期刊和照片。我正在尝试制作一个页面,其中所有人发布的内容按时间顺序显示。我的简化models.py如下所示。
class Writing(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=100)
date_created = models.BigIntegerField(default=0)
class Photo(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=100)
date_created = models.BigIntegerField(default=0)
在这种情况下,我将不得不触摸两个数据库表,然后按date_created对它们进行排序。我听说我可以使用itertools链来遍历这两个表,但我不确定如何。我应该在views.py中写什么?
答案 0 :(得分:0)
在views.py中很简单,例如:
def my_view(request):
writing = Writing.objects.filter(user=request.user).order_by('-date_created')
photos = Photo.objects.filter(user=request.user).order_by('-date_created')
context = {'writing': writing, 'photos': photos}
return render(request, 'your_template.html', context)
还有一个提示你不应该使用BigIntegerField作为日期,而不是使用DateTime
date_created = models.DateTimeField(auto_now_add=True, blank=True)