Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » форма для ленивых в стандартной админке [RSS Feed]

#1 Март 26, 2010 14:36:29

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

форма для ленивых в стандартной админке

Приветствую,

Есть модель

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

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


Спасибо.



Офлайн

#2 Март 29, 2010 09:54:42

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

форма для ленивых в стандартной админке

Вы не поверите - но это легко делается стандартными средствами - http://docs.djangoproject.com/en/1.1/topics/forms/modelforms/#id1



Офлайн

#3 Март 29, 2010 10:57:54

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

форма для ленивых в стандартной админке

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



Офлайн

#4 Март 29, 2010 11:29:57

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

форма для ленивых в стандартной админке

Таки да, по приведенной ссылке формсеты работают НЕ только для связанных обьектов, но все равно проблема остается - неизвестно как это прикрутить к стандартной админке, там такой параметр есть только в Inline Object, а мне этого не нужно.



Офлайн

#5 Март 29, 2010 14:42:35

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

форма для ленивых в стандартной админке

Это в общем-то просто

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. Ну и самое творческое - делаете свой шаблон страницы для админки.

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



Офлайн

#6 Март 29, 2010 15:18:57

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

форма для ленивых в стандартной админке

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. Ну и самое творческое - делаете свой шаблон страницы для админки.

К сожалению стандартно в админке вводится только один новый объект и это поведение не изменить, так что по другому никак.
да, так и сделал.
хотя конечно жаль, такой простой функционал через такую попу делать.



Офлайн

  • Начало
  • » Django
  • » форма для ленивых в стандартной админке[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version