gpt4 book ai didi

python - Django 按属性字段排序

转载 作者:太空宇宙 更新时间:2023-11-04 04:59:08 26 4
gpt4 key购买 nike

我正在使用“OrderingFilter”来进行排序。根据 Django 文档,当未指定“ordering_fields”时,您可以按 View 序列化程序中提到的任何字段进行排序。我有一个字段,它基本上是序列化程序中的一个@property 字段。但是当尝试按该字段排序时,出现以下错误:

Cannot resolve keyword 'spec_identifier' into field. Choices are:....

这是模型 View 的一部分:

class ItemViewSet(BaseViewMixin, MyModelView):
permission_classes = [MyItemViewPermissions]
serializer_class = ItemSerializer
filter_backends = (ItemFilter, OrderingFilter,)

这是我要订购的属性定义:

@property
def spec_identifier(self):
return self.spec.identifier if self.spec else None

是否可以通过它订购?

最佳答案

因此,经过研究和反复试验,这就是解决方案:

ordering_fields = tuple(serializer_class.Meta.fields + ['spec__identifier'])

关于python - Django 按属性字段排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46282173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com