2016-07-15 13 views
0

Ich versuche django-localflavors in meine Django App zu implementieren.django-localflavor Felder nicht in Django Admin-Modelle angezeigt?

ich importieren USStateSelect & USZipCodeField am Anfang meiner models.py und dann sind sie als ein Feld in meinem Modell zusammen mit anderen Bereichen, etwa so:

from localflavor.us.forms import USStateSelect, USZipCodeField 
... 
Class MyModel(models.Model): 
... 
    state = USStateSelect() 
    zip_5 = USZipCodeField() 

Allerdings, wenn ich zu Django Admin gehen und versuche, ein neues Model-Objekt zu erstellen. Ich sehe jedes andere Feld, das ich geschrieben habe (CharFields, etc.), mit Ausnahme der lokalen Flavor-Felder. Sie erscheinen einfach nicht als ein Eingabefeld in meiner Model-Objektform. Ich habe Migrationen in meiner Datenbank durchgeführt, daher ist das nicht das Problem.

Missverständnis ich, wie man django-localflavor benutzt? Ich habe in einer Antwort zu einem anderen Beitrag gelesen, dass localflavor nicht wirklich Eingabefelder erstellt, speichert nur Daten ... aber dann habe ich auch gelesen, dass es Sie Daten eingeben können. An diesem Punkt bin ich verwirrt. Jede Hilfe wäre willkommen!

Antwort

0

Ich denke, was Sie suchen, sind die model fields. Die Formularfelder werden beim Erstellen eigener Formulare verwendet (normalerweise außerhalb des Admins, z. B. ein Kontaktformular). LocalFlavor hat ein paar Felder, die tun sollten, was Sie brauchen. Beachten Sie, dass es sich im Wesentlichen um CharField handelt, die eine zusätzliche Validierung aufweisen, um sicherzustellen, dass das gewünschte Format eingehalten wird.

0

Sie müssen Optionen angeben.

Code ändern etwas wie unten:

from localflavor.us.forms import USStateSelect, USZipCodeField 
... 
Class MyModel(models.Model): 
... 
    state = USStateSelect(choices=STATE_CHOICES) # add choices 
    zip_5 = USZipCodeField() # no change on this line