2012-07-20 18 views
6

Sono abbastanza nuovo a questo, scuse se io sono poco chiari ...."Aggiungi Nuovo" per campo chiave esterna in Django ModelForm

Django esecuzione, con bootstrap, e sono stato giocherellare con Django -bootstrap. BootstrapModelForm è piuttosto interessante, nel mio esempio non ho incluso la roba django-bootstrap, ma dovrei notare.

devo modelli:

class spam(models.Model): 
    name = models.CharField() 

class Eggs(models.Model): 
    spam = models.ForiegnKey('spam') 

io uso un ModelForm, qualcosa come:

class EggsForm(forms.ModelForm): 
    meta: 
     model=Eggs 

EggsForm consente la selezione dei quali lo spam sarà referenziato da uova. Ho notato che l'interfaccia di amministrazione ha un modo interessante per selezionare o aggiungere un altro uovo.

Come posso ottenere funzionalità simili nel mio modulo di creazione?

risposta

1

Perché non utilizzare un modulo standard (non un ModelForm) per questo? Aggiungi il "aggiungi nuovo" come opzione extra e prendilo nel metodo clean() del modulo dove dovresti creare il nuovo oggetto, reindirizzare a un altro modulo ecc.

0

Nel tuo modello puoi aggiungere un nuovo (o " + "), che può reindirizzare o mostrare popup o qualcosa di simile mostra un altro modulo per aggiungere nuovo Egg.

+0

Penso che la domanda sia come si otterrebbe facilmente lo 'spam' appena generato nel' EggsForm' ... –