Найти - Пользователи
Полная версия: форма для ленивых в стандартной админке
Начало » Django » форма для ленивых в стандартной админке
1
pochechyev
Приветствую,

Есть модель
class Actor(models.Model):
name=models.CharField(max_length=100, unique=True, verbose_name="Имя актера")
По ней соответственно построена форма в стандартной админке.

Задача - как “размножить” эту форму, чтобы при входе на страницу добавления актера я мог добавлять не одно имя, а допустим 5.
Пустые (незаполненные) формы не должны вызывать ошибок. Т.е. если у меня на странице 5 полей, а я заполнил только 2 то добавились 2, остальные не вызвали ошибок.
На первый взгляд просто но целый день туплю и не могу понять как это сделать.


Спасибо.
ziro
Вы не поверите - но это легко делается стандартными средствами - http://docs.djangoproject.com/en/1.1/topics/forms/modelforms/#id1
pochechyev
ziro
Вы не поверите - но это легко делается стандартными средствами - http://docs.djangoproject.com/en/1.1/to … forms/#id1
безусловно, но ТОЛЬКО для СВЯЗАННЫХ моделей (foreign key, many to many )
я буду безгранично рад если я ошибаюсь и Вы сможете привести пример как это сделать с одной моделью.
pochechyev
Таки да, по приведенной ссылке формсеты работают НЕ только для связанных обьектов, но все равно проблема остается - неизвестно как это прикрутить к стандартной админке, там такой параметр есть только в Inline Object, а мне этого не нужно.
ziro
Это в общем-то просто

1. Привязываете к Вашей ModelAdmin новый url - http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_urls
2. Пишите обработчик урла типа такого - http://docs.djangoproject.com/en/1.1/topics/forms/modelforms/#using-a-model-formset-in-a-view
3. Ну и самое творческое - делаете свой шаблон страницы для админки.

К сожалению стандартно в админке вводится только один новый объект и это поведение не изменить, так что по другому никак.
pochechyev
ziro
Это в общем-то просто

1. Привязываете к Вашей ModelAdmin новый url - http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_urls
2. Пишите обработчик урла типа такого - http://docs.djangoproject.com/en/1.1/topics/forms/modelforms/#using-a-model-formset-in-a-view
3. Ну и самое творческое - делаете свой шаблон страницы для админки.

К сожалению стандартно в админке вводится только один новый объект и это поведение не изменить, так что по другому никак.
да, так и сделал.
хотя конечно жаль, такой простой функционал через такую попу делать.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB