Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用模型继承,如何在Django中对两个不同的模型进行不同的排序?_Django_Django Models_Django Templates_Django Views - Fatal编程技术网

使用模型继承,如何在Django中对两个不同的模型进行不同的排序?

使用模型继承,如何在Django中对两个不同的模型进行不同的排序?,django,django-models,django-templates,django-views,Django,Django Models,Django Templates,Django Views,我有一个名为Photo的模型和一个名为Video的模型。它们都继承了名为Item的模型,该模型包含a time_created字段和Item_by字段。我知道您可以使用Item.objects.all().order\u by('time\u created')从这两个不同的模型中对对象进行排序。然而,我想按时间和等级订购照片和视频。我仍然希望将这两个对象分组到一个queryset下,即使它们的顺序不同,这样我就可以在一个页面上显示它(如网格)。我怎样才能做到这一点? 谢谢 我知道,通过覆盖子模

我有一个名为Photo的模型和一个名为Video的模型。它们都继承了名为Item的模型,该模型包含a time_created字段和Item_by字段。我知道您可以使用
Item.objects.all().order\u by('time\u created')
从这两个不同的模型中对对象进行排序。然而,我想按时间和等级订购照片和视频。我仍然希望将这两个对象分组到一个queryset下,即使它们的顺序不同,这样我就可以在一个页面上显示它(如网格)。我怎样才能做到这一点?
谢谢

我知道,通过覆盖子模型
元排序
属性,可以实现类似的功能。但是,在没有看到您的模型代码(代理、抽象等)的情况下,我无法确定这是否适用于您

class Item(models.Model):
    time_created = models.DateField()
    rank = models.IntegerField()


class Photo(Item):
    class Meta:
        ordering = ['time_created']


class Video(Item):
    class Meta:
        ordering = ['rank']

谢谢,我很快就会试一试的。因此,如果我调用Item.objects.all(),如果项目1和3是照片,项目2和4是视频,那么项目1将在项目3之后创建,项目2的排名将高于项目4?