Найти - Пользователи
Полная версия: Создание формы сложного обьекта.
Начало » Django » Создание формы сложного обьекта.
1
django_beginner
Как создать и передать во views форму обьекта.
plan
|—-period_0
| |—-subject_0
| | |—-event_0
| | |—-event_1
| |
| |—-subject_1
|
итд.. period_1, period_2

в asp.net mvc там просто происходит автоматический биндинг обьекта по name поля, как это сделать в django? Прочитал про formset понял что там идет обработка множества форм, но как применить к примеру выше не понимаю. Поскажите пожалуйста? как потом в обработке мне понять что, например event_1 принадлежит subject_0 который прнадлежит period_0.
Rodegast
Если я правильно понял, то тебе нужны связаные формы.
http://djbook.ru/rel1.4/ref/contrib/formtools/form-wizard.html
django_beginner
Если я правильно понял, то тебе нужны связаные формы.
http://djbook.ru/rel1.4/ref/contrib/formtools/form-wizard.html
Из инструкции по ссылке:
1.Пользователь открывает первую страницу мастера, заполняет форму и отправляет её.
2.Сервер проверяет данные. Если они содержат ошибку, то форма отображается заново, показывая ошибки. Если данные прошли проверку, сервер сохраняет текущее состояние мастера в бэкэнде и перенаправляет пользователя на следующую страницу.

Нет это не то. Создание обьекта который содержит в себе список других обьектов которые в свою очередь содержат списки других)) Иерархический обьект получается. Plan содержит список объектов Period, а Period в себе содержит список Subject, создание этого объекта на одной странице. Добавлять дополнительные объекты при помощи javascripts а как их правильно организовать чтоб передать на сервер и обработать django. Думаю что пока выход только использовать json. Неужели не у кого не было такой задачи?
FishHook
django_beginner
Plan содержит список объектов Period, а Period в себе содержит список Subject
А как это у Вас организованно в моделях, можно глянуть?
FishHook
Посмотрите на django-mptt
django_beginner
FishHook
А как это у Вас организованно в моделях, можно глянуть?

Я пока только познаю джангу, как понимаю то модель это просто описание таблиц в бд. Типа анемичная модель домена.
Пока сделал банально):

class Event(models.Model):
    title = models.CharField(u'title', max_length=255)
    created = models.DateField(u'create')
class Subject(models.Model):
    title = models.CharField(u'title', max_length=255)
    created = models.DateField(u'create')
class Period(models.Model):
    title = models.CharField(u'title', max_length=255)
    created = models.DateField(u'create')
    count_months = models.SmallIntegerField(u'count_months')
class Plan_properties(models.Model):
    title = models.CharField(u'title', max_length=255)
    date_create = models.DateField(u'date_create')
    is_active = models.BooleanField(default=True)
class Plan_general(models.Model):
    plan_properties_id = models.ForeignKey(Plan_properties)
    period_id = models.ForeignKey(Period)
    subject_id = models.ForeignKey(Subject)
    event_id = models.ForeignKey(Event)

Просто нужно создать план на одной странице, без javascript, ajax не обойтись так как нужно будет добавлять новые или уже ранее созданные обьекты, например subject. Хотелось бы понять умеет это джанго из коробки и если нет то изобрести велосипед своими руками. Пока только в теории думаю проще сделать это передавать уже собранный план в формате json на сервер. Вроде в python есть библиотека json. Может есть еще лучше и проще варианты? … повторюсь, из коробки и своими руками)))
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