Ho un modulo che immette dati in db. Ho un altro modulo con un campo a discesa che utilizza i dati immessi dal primo modulo.Django Form ricarica dati
Così quando invio dati dal primo modulo, il db viene aggiornato correttamente. Ma quando carico il secondo modulo il menu a tendina non viene aggiornato con i dati più recenti.
passaggi seguiti per il debug
Il problema non è con la transazione/commit ecc La query per recuperare i dati per il menu a discesa nella seconda forma è corretta.
Il problema non è con cache della vista o (cos non abbiamo alcun middleware cache) Ho anche provato il decoratori di cache come @ never_cahce, @ cache_control ecc
ho provato dando un comunicato stampa in seconda forma . Credo che il problema sia con la cache dei moduli. Ogni forma di django viene caricata una sola volta, es. durante il caricamento della prima pagina del sito. Successivamente il modulo viene caricato da questa cache.
Prima pagina
forma
class AddOrganization(forms.Form):
orgList = getOrgUnitList()
orgUnit = forms.CharField(label=u'Organization Name',
max_length=50,
error_messages={'required':'Organization name is required field.'})
parentOrg= forms.ChoiceField(label=u'Parent Organization',
choices=[(u'Select',u'Select')]+orgList,
error_messages={'required':'Organization name is required field.'})
Seconda pagina
forma
class AddUser(forms.Form):
orgUnitList = getOrgUnitList()
email = forms.EmailField(label=u'Email',
max_length=50,
error_messages={'required':'Email is required field'})
orgUnit = forms.ChoiceField(label=u'Organizational Unit',
choices=orgUnitList,
error_messages={'required':'Organizational unit is required field'})
Query
def getOrgUnitList():
orgUnitList = list(OrganizationUnit.objects.values_list('OrgUnitID','OrgUnitName').order_by('OrgUnitName'))
return orgUnitList
EDIT
Tutto è bene se uso modelforms.Why Quindi?
Potrebbe mostrarci alcuni esempi di codice. N.B. Dovrai ricaricare/recuperare i dati dal db dal tuo primo modulo che devi visualizzare nel menu a discesa del tuo secondo modulo. – c4urself
Noi siamo semplici mortali: si prega di fornire il codice attuale oppure stiamo solo indovinando il problema. Dove si trova esattamente questa domanda? Sei positivo che venga eseguito? Anche se sei positivo, mostraci! –