我目前正在使用 Django REST Framework 3.11.0 和 Django 3.0.6。我对 DRF 还很陌生,不知道如何解决这个问题。我正在尝试将排序应用于 SerializerMethodField 和枚举。我找到了一些文档,说明我可以制作自己的 OrderFilter,但我不知道如何制作。有什么我可以使用的例子吗?这是我的代码。
看法
from rest_framework import generics
from V1.assets.models.asset_main import Asset
from V1.assets.serializers.asset_serializer import AssetSerializer
from rest_framework import filters
from django_filters.rest_framework import DjangoFilterBackend
class AssetsView(generics.ListCreateAPIView):
queryset = Asset.objects.all()
serializer_class = AssetSerializer
filter_backends = [DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter]
filter_fields = ['asset_type']
search_fields = ['asset_type', 'asset_properties', 'current_employee_name']
Run Code Online (Sandbox Code Playgroud)
模型
class AssetType(models.TextChoices):
LAPTOP = 'LPT', _('Laptop')
MOUSE = 'MSE', _('Mouse')
MONITOR = 'MTR', _('Monitor')
AC_ADAPTER = 'ADR', _('AC Adapter')
TELEPHONE = 'TLP', …Run Code Online (Sandbox Code Playgroud)