Sono abbastanza nuovo per Django e ho letto la documentazione sui suoi modelli relazionali e moduli di amministrazione in linea (docs on InlineModelAdmin) Sto cercando di capire se è possibile che il seguente sia possibile scatola, o se dovessi tirare le mie forme.Aggiunta in linea di molti a molti oggetti nell'amministratore di Django
Diciamo che ho due oggetti: film e registi, questa è una relazione molti-a-molti come definito nelle dichiarazioni modello come segue:
class Film(Model):
director = ManyToManyField('Director')
Ora, nel modulo di dettaglio per un oggetto Film Vorrei aggiungere oggetti Director inline (hanno solo un campo nome come unica proprietà). Non basta selezionare istanze esistenti, ma essere in grado di creare , in linea sotto forma di oggetto Film.
class DirectorInline(admin.TabularInline):
model = Director
extra = 3
class FilmAdmin(admin.ModelAdmin):
inlines = (
DirectorInline,
)
Questo genera un errore, perché si aspetta una chiave esterna per l'oggetto direttore. È ciò che sto cercando di ottenere possibile senza creare un modulo personalizzato, un validatore, ecc.? Tutti i suggerimenti nella giusta direzione sarebbero molto apprezzati, grazie in anticipo.
Igor, (o chiunque altro), come aggiungeresti le opzioni in linea come i campi? – Greg
@Greg Non capisco davvero cosa cerchi di ottenere. Se si desidera salvare ulteriori dati nel modello M2M, è possibile utilizzare il modello personalizzato attraverso: https://docs.djangoproject.com/en/1.6/topics/db/models/#intermediary-manytomany Se si desidera aggiungere solo campi al pannello di amministrazione, è possibile ridefinire '' DirectorInline.form'' – Igor
@Igor Come ridefinire Inline.form? – mamasi