Ich möchte in meiner REST-API nach Abfrageparametern filtern - siehe django docs dazu . Ein Parameter, nach dem ich filtern möchte, ist jedoch nur über ein Modell @property
verfügbarBeispiel models.py:
%Vor%Hier ist das Setup für meine Listing API gemäß django-filter docs
%Vor%Wie kann ich nach listing.category filtern? Es ist nicht direkt im Listenmodell verfügbar.
Verwenden Sie den Parameter 'action', um eine benutzerdefinierte Methode anzugeben - siehe django-filter docs
Definieren Sie zuerst eine Methode, die ein Abfrage-Set mit dem Wert des category-Parameters filtert:
%Vor%Listing filter sollte so aussehen:
%Vor%Aus Gründen der Datenbankgeschwindigkeit sollten Sie nur die Kategorie zu Ihrem Angebotsmodell hinzufügen
%Vor%Verwenden Sie anschließend ein Signal post_save , um das Feld auf dem neuesten Stand zu halten
%Vor%Dann filtere nach seinem Namen wie jedes andere Feld:
%Vor%Tags und Links python django django-rest-framework django-filter