[Python] [Django] Interfaccia admin per relazione uno a molti
Stefano
e.tino a email.it
Gio 27 Lug 2006 12:37:16 CEST
Carlo C8E Miron ha scritto:
> On 7/18/06, Stefano <e.tino a email.it> wrote:
>> Una richiesta d'aiuto per gli utilizzatori di Django (quanti siete qui
>> in lista?)
>
> Pochi, pare. Oppure, molto silenziosi. ;)
> Scherzi a parte, rispondo con un ritardo mostruoso. Avrai gia`
> risolto, suppongo...
>
Ritorno sui miei passi... il problema mi si ripresenta
>> Sto creando l'interfaccia di amministrazione per due tabelle con
>> relazione uno a molti, la prima č cosė definita in models.py
> [snip]
>> la seconda
> [snap]
>> Con il parametro "edit_inline" nell'interfaccia di amministrazione viene
>> visualizzato il campo "Riga" ma quando compilo il campo e salvo, la riga
>> caricata non viene visualizzata e mi presenta i dati di Testata con la
>> riga di dettaglio vuota senza nessun messaggio di errore.
>> Qualche suggerimento?
>
> Non riesco a riprodurre il tuo problema. Direi che funziona
> perfettamente secondo attese.
>
In questo secondo esempio no...
Nello specifico aggiungendo un campo non obbligatorio 'valore_riga' a
Dettaglio, se questo non viene compilato nella interfaccia admin, il
record non viene salvato nel DB. Riscrivo l'esempio completo.
class Testata(models.Model):
data = models.DateField('Data')
descrizione = models.CharField('Descrizione', maxlength=50)
def __str__(self):
return self.descrizione
class Admin:
pass
class Dettaglio(models.Model):
id_testata = models.ForeignKey(Testata, edit_inline=models.TABULAR,
num_in_admin=1,
min_num_in_admin=1,
num_extra_on_change=1)
descrizione_riga = models.CharField('Riga', maxlength=50, core=True)
valore_riga = models.IntegerField('Valore', core=True, blank=True,
null=True)
def __str__(self):
return self.descrizione_riga
Lo schema db creato per la tabella dettaglio č questo
CREATE TABLE "unomolti_dettaglio" (
"id" integer NOT NULL PRIMARY KEY,
"id_testata_id" integer NOT NULL,
"descrizione_riga" varchar(50) NOT NULL,
"valore_riga" integer NULL
)
Nel tutorial di Django
http://www.djangoproject.com/documentation/tutorial2/#adding-related-objects
C'č scritto (tradotto) che "la presenza di almeno uno dei campi aggiunge
un nuovo dettaglio, la cancellazione di entrambi significa la
cancellazione del record."
Cosė non sembra essere, almeno per la parte dell'inserimento. Qualche
consiglio?
Grazie di nuovo.
Saluti
Stefano
Maggiori informazioni sulla lista
Python