J'utilise 'OrderingFilter' pour autoriser la commande. Selon la documentation de Django, en ne spécifiant pas 'ordering_fields', vous pouvez commander par n'importe quel champ mentionné dans le sérialiseur de vue. J'ai un champ qui est fondamentalement un champ @property dans le sérialiseur. Mais en essayant de commander par ce domaine, je reçois l'erreur suivante:Django Commande par champ de propriété
Cannot resolve keyword 'spec_identifier' into field. Choices are:....
Cela fait partie de la vue du modèle:
class ItemViewSet(BaseViewMixin, MyModelView):
permission_classes = [MyItemViewPermissions]
serializer_class = ItemSerializer
filter_backends = (ItemFilter, OrderingFilter,)
ce qui est la définition de la propriété que je veux commander par:
@property
def spec_identifier(self):
return self.spec.identifier if self.spec else None
Est-il possible de le commander?
Je veux permettre de le faire à partir du client avec requête param - '? Commande = spec_identifier' en utilisant la OrderingfFilter, même chose que les autres champs – user2880391
avez-vous essayé '? ordering = spec__identifier' double trait de soulignement dans la chaîne de requête? –