Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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 Forms_Django Views - Fatal编程技术网

如何在Django相关模型中排序(通用关系)

如何在Django相关模型中排序(通用关系),django,django-models,django-forms,django-views,Django,Django Models,Django Forms,Django Views,我的模型: 点击计数器: hits = models.PositiveIntegerField(default=0) object_pk = models.TextField('object ID') content_type = models.ForeignKey(ContentType, verbose_name="content cype", related_name="content

我的模型:

点击计数器:

hits  = models.PositiveIntegerField(default=0)
object_pk  = models.TextField('object ID')
content_type    = models.ForeignKey(ContentType,
                        verbose_name="content cype",
                        related_name="content_type_set_for_%(class)s",)
content_object  = generic.GenericForeignKey('content_type', 'object_pk')
title    = models.CharField(_('Title'), max_length=400)
desc     = models.TextField(_('Description'), blank=True
项目:

hits  = models.PositiveIntegerField(default=0)
object_pk  = models.TextField('object ID')
content_type    = models.ForeignKey(ContentType,
                        verbose_name="content cype",
                        related_name="content_type_set_for_%(class)s",)
content_object  = generic.GenericForeignKey('content_type', 'object_pk')
title    = models.CharField(_('Title'), max_length=400)
desc     = models.TextField(_('Description'), blank=True
)


我想按HitCounter中的点击次数对Item中的项目进行排序?我该怎么办?

我认为这应该有效:

items = Item.objects.annotate(hits=Sum('hitcounter__hits')).order_by('-hits')
Doc for Django aggregation

如果您希望在默认情况下进行此排序,则可能需要元选项和帮助

您的模型将如下所示:

class HitCounter:
    # properties here

    class Meta:
        order_with_respect_to: 'content_object'  # not sure if this really works
        ordering: ['-hits']

您的第一个型号是否命名为“HitCounter”,而您仍然会遇到异常情况?你能发这条消息吗?我已经拿了一张物品id的有序列表。但是如何使用它从Item对象获取项。我用过for loop,但看起来不太好。对不起,我不明白你的意思。你能重新措辞吗?我在这里提出了一个问题:。请访问并接受您的观点。谢谢django.db.models.fields.FieldDoesNotExist:HitCounter(或其他)没有名为“content\u object”的字段