2016-08-08 30 views
0

Ich habe einige Filter auf meine Ressource hinzugefügttastypie Fall zum Filtern ignorieren

filtering = { 
    "user" : ALL_WITH_RELATIONS, # to access FK filters 
    "state": ALL, 
    "job_type": ALL, 
} 

Berufung als http://127.0.0.1:8000/profile/?state=Alaska

Kann ich es ändern, so dass die Filter Fall

Antwort

1

können Sie rufen

http://127.0.0.1:8000/profile/?state__iexact=Alaska 

Standard-Lookup-Methode exact ist. iexact ist eine case-insensitive genau.

Filterung in Tastypie sieht aus wie Filterung in Django ORM. Jede field lookups funktioniert.

+0

Danke, das war, was ich gesucht habe. Kannst du mir sagen, woher du die Informationen bekommen hast? Ich kann es nicht auf der Tastypie finden –

0

verwandeln Ihre Filter ignorieren können in lowercase

your_filter.lower() 

Aber, es wird nur w ork, wenn Sie Ihre Werte als Kleinbuchstaben in Ihrer Datenbank gespeichert haben.

+0

Aber das würde den Fall immer noch nicht ignorieren. Wollen Sie sagen, dass ich sowohl meine Filter als auch die DB-Einträge in einen einzigen Fall konvertieren muss? –

+0

@WilletteLynch Wenn Sie Alaska oder AlAskA bekommen, wollen Sie es als Alaska analysieren, richtig? Es hängt davon ab, wie Sie es zuerst in Ihrer Datenbank gespeichert haben. – levi

+0

Ja das muss ich tun. Ich benutze Postgres als meine DB, Sie sagen also, dass tastypie keine Unterstützung für ingore case search eingebaut hat? –