如何添加排序的字段长度Model?我有一个IPv4Manage模型:class IPv4Manage(models.Model): """ ipv4 """ ip = models.GenericIPAddressField(help_text="ip") ... class Meta: ordering = ['ip']在Meta中,我们可以使用字段设置排序条件。但是我有一个问题,我可以在中设置ip订单的长度Model吗?我知道是否可以在APIView中使用Prefetch或extra来指定的长度ip并对其进行排序。...extra(select={'length':'Length(ip)'}).order_by('length', 'ip')但是我们可以在中设置顺序参数的长度Model吗?编辑1我创建了一个经理:class IPv4ManageManager(models.Manager): def get_queryset(self): return super().get_queryset().annotate(length=Length('ip')).order_by('length', 'ip')我将其添加到默认的Manager中,对我有用。class IPv4Manage(models.Model): """ ipv4 """ ip = models.GenericIPAddressField(help_text="ip") ... objects = IPv4ManageManager() class Meta: ordering = ['ip']
添加回答
举报
0/150
提交
取消