2013-03-11 5 views
10

Sto iniziando un nuovo progetto e sto usando Django 1.5. Ho scoperto che il materiale localflavor è stato rimosso da Django 1.5 e ora è un pacchetto installabile separato. Così l'ho installato. Nel mio models.py Sto importando le localflavors degli Stati Uniti per ottenere i miei stati:Come risolvere il problema di Django South riguardo a localflavor in Django 1.5?

from django_localflavor_us.models import USStateField 

Nel mio modello, ho questo campo:

state = USStateField(default='VA') 

Quando si tenta di eseguire una migrazione con il Sud, Ricevo ora il seguente messaggio:

! Impossibile bloccare il campo "playerstats.location.state" ! (questo campo ha classe django_localflavor_us.models.USStateField)

! Sud non può introspettare alcuni campi; questo è probabilmente perché sono personalizzati ! campi. Se hanno lavorato in 0.6 o sotto, questo è perché abbiamo rimosso il ! analizzatore di modelli (spesso rompeva le cose). ! Per risolvere questo problema, leggi http://south.aeracode.org/wiki/MyFieldsDontWork

Ho letto l'articolo wiki, ma lo trovo molto dettagliato e complesso. Il mio USStateField non è considerato un campo personalizzato ora in 1.5 è? Qualcun altro ha avuto questo problema in 1.5? E come lo hai risolto?

risposta

8

Hai provato ad aggiungere la regola di introspezione?

add_introspection_rules([], ["^django_localflavor_us\.models\.USStateField"]) 
+0

Ha funzionato! Ora capisco. – user338413

2

Ho dovuto modificare la soluzione di Hedde van der Heide per far funzionare il mio. Ecco come si presenta:

add_introspection_rules([], ["^localflavor\.us\.models\.USStateField"])