2015-09-14 24 views
5

Na przykład, mam model postu:Tworzenie wielu obiektów w Django administratora naraz

Class Post(models.Model): 
    title = models.Charfield(max_length=200) 
    # other fields 

Zastanawiam się czy jest jakiś sposób, aby utworzyć kilka postów na raz admin. Innymi słowy, potrzebuję zestawu formularzy zamiast pojedynczego formularza na stronie tworzenia postów.

Odpowiedz

2

Prawdopodobnie najlepszym sposobem zrobienia dokładnie tego, czego chcesz, jest rozszerzenie ModelAdmin class, ponieważ nie ma na nim żadnych formform, z wyjątkiem tych używanych w InlineFormsets.

Po tym można dostosować admin change_form template, aby to swoje formsets

quick-and-brudny sposób to zrobić przy użyciu administracyjna jest owinąć swój model postu jako formset inline innego modeladmin i dodać opcję extra do tego.

+0

1) Chcę wyraźnie zaznaczyć te modele, które potrzebują zestawu. Myślę, że twoje rozwiązanie nie jest selektywne i sprawi, że wszystkie modele będą wyglądać tak samo. 2) Inline nie jest tym, czego szukam. – chem1st

+0

Ok, nadal musisz utworzyć nową klasę ModelAdmin z właściwością formset i flagą zestawu, zaznaczając, czy chcesz, aby konkretny formularz administracyjny używał formsetów i liczby extra_forms. @ chem1st –

5

Ostatnio słyszałem o aplikacji django, która dokładnie wykonuje tę pracę. Nazywa się to django-bulk-admin i umożliwia masowe dodawanie/aktualizację w administratorze.

+0

Doskonałe narzędzie, @ Eliot. To działa! –

+0

Oni robią dokładnie to, co powiedziałem, mają utworzony BulkModelAdmin który rozciąga ModelAdmin klasy i dodać formsets. Następnie utworzyli szablony dla change_form. –

+1

@FernandoFreitasAlves: masz rację! Nie zbadać, w rzeczywistości po prostu okazało się, że pakiet na Reddit i myśli PO byłaby zainteresowana odpowiedzią przez stronę trzecią zamiast pisać go od nowa. –

Powiązane problemy