Ich benutze django-filter mit django-rest-framework und ich versuche, einen Filter zu instanziieren, der Listen von Zahlen zum Filtern der abgelegten Abfrage akzeptiert
%Vor%Wenn ich eine durch Komma getrennte Liste von ganzen Zahlen übergebe, wird der Filter komplett ignoriert.
Wenn ich eine ganze Zahl übergebe, kommt es durch den Django-Filter in den Formvalidator von django und beschwert sich:
%Vor%Gibt es eine Möglichkeit, ein Django-Filter-Objekt zu erstellen, das mit einer Liste von Ganzzahlen umgehen und das Abfrage-Set korrekt ausfiltern kann?
Zum Besseren oder Schlechteren habe ich dafür einen eigenen Filter erstellt:
%Vor%Was benutzt wird wie:
%Vor%Jetzt akzeptiert meine Schnittstelle kommagetrennte Listen von Ganzzahlen.
Laut einem Beitrag in den Django-Filter-Problemen :
%Vor%Ich habe das persönlich ohne Probleme in meinen Projekten verwendet und es funktioniert, ohne dass ich einen Filter pro Typ erstellen muss.
Ich weiß, das ist ein alter Post, aber es gibt jetzt eine bessere Lösung. Die Änderung, die es richtig macht, ist hier .
Sie haben eine BaseInFilter
und eine BaseRangeFilter
hinzugefügt. Die Dokumentation ist hier .
Großes Bild, BaseFilter prüft auf CSV, und wenn es mit einem anderen Filter gemischt wird, tut es, was Sie fragen. Ihr Code kann jetzt wie folgt geschrieben werden:
%Vor%Tags und Links django-rest-framework django-filter