2009-07-30 11 views
7

Mam model "Person", który ma relację jeden-do-wielu z innymi modelami, na przykład Adres. Chcę edytować te modele na tej samej stronie co Person, co już mogę zrobić za pomocą wbudowanych. Ale ja również chcę zmienić kolejność pól.Admin Django -> Zmiana kolejności pól, w tym pól śródliniowych

chcę (inline) pole "Adres" być trzecia pozycja na liście, ale

pola ('first_name', '', 'LAST_NAME Adress_Inline', '' narodowości itp ..) Otrzymuję: "PersonAdmin.fields" odnosi się do pola "Address_Inline", którego brakuje w formularzu.

Czy istnieje sposób zmiany kolejności pól i uzyskania określonych pól śródliniowych między "zwykłymi" polami modelu?

Dziękujemy!

Odpowiedz

0

Musisz ręcznie rozszerzyć szablon administratora (change_form.html) i pozycje kodu sztywnego. AFAIK, nie można wstawiać wbudowanych formularzy do środka formularza nadrzędnego.

0

Możesz to zrobić z javascript. Musisz przesłonić szablon i może dodać znacznik div. Następnie zakoduj swój div, który chcesz skopiować, a następnie ukryj oryginalny div (z wbudowanym). Mam nadzieję, że to pomaga.

0

Ilekroć Django renderuje szablon formularza administracyjnego, lista pól śródliniowych jest dostępna w zmiennej {{inline_admin_formset}}, można jej użyć do wyświetlania pól wbudowanych w dowolnym miejscu we własnym niestandardowym szablonie zmian.html.

Musisz rozszerzyć szablon change_form.html, aby to zrobić, nie ma innego sposobu.

Powiązane problemy