用户可以在我们的网站上上传三种不同类型的内容:图片、视频、音频。以下是每种类型的模型:
class ImageItem(models.Model):
user = models.ForeignKey(User)
upload_date = models.DateTimeField(auto_now_add=True)
image = models.ImageField(upload_to=img_get_file_path)
title = models.CharFiled(max_length=1000,
blank=True)
class VideoItem(models.Model):
user = models.ForeignKey(User)
upload_date = models.DateTimeField(auto_now_add=True)
video = models.FileField(upload_to=vid_get_file_path)
title = models.CharFiled(max_length=1000,
blank=True)
class AudioItem(models.Model):
user = models.ForeignKey(User)
upload_date = models.DateTimeField(auto_now_add=True)
audio = models.FileField(upload_to=aud_get_file_path)
title = models.CharFiled(max_length=1000,
blank=True)
我有一个名为
library.html
的页面,它按照最近上传的顺序呈现用户上传的所有项目(它会显示每个实例的title
和upload_date
,并在左侧放置一个小图标,表示它是什么类型的项目)。假设需要三个单独的查询,如何合并这三个查询集?如何确保它们按最近上传的顺序排序?