Уведомления

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

#1 Сен. 8, 2009 09:13:09

LestatCheb
От:
Зарегистрирован: 2009-06-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

как вывести формы связаных отношениями объектов за раз?

например есть несколько моделей (около 10):

class Borrower(template_people2):
number = models.CharField(max_length=255, verbose_name=u'Телефон(ы)')
borrower_partner = models.ManyToManyField(Borrower_partner)
comments = models.CharField(max_length=255, verbose_name=u'Примечания', blank=True, null=True)
education = models.ForeignKey(Education, verbose_name=u'Образование')
work = models.CharField(max_length=255, verbose_name=u'Место работы')
profession = models.CharField(max_length=255, verbose_name=u'Профессия')
work_exp = models.CharField(max_length=255, null=True, blank=True, verbose_name=u'Стаж работы')
income_main = models.CharField(max_length=255, verbose_name=u'Доход осн. заемщика')
income_all = models.CharField(max_length=255, verbose_name=u'Совокупный доход заемщиков')

class Document(models.Model):
date_for_consultants = models.DateField(verbose_name=u'Дата сдачи докуметов консультанту')
consultant = models.ForeignKey(Consultant, verbose_name=u'ФИО консультанта')
date_for_underwriters = models.DateField(verbose_name=u'Дата передачи дела на андеррайтинг')
underwriter = models.ForeignKey(Underwriter, verbose_name=u'ФИО андеррайтера')
date_of_credit_committee = models.DateField(verbose_name=u'Дата кредитного комитета')
date_for_lawyers = models.DateField(verbose_name=u'Дата передачи дела юристу')
lawyer = models.ForeignKey(Lawyer, verbose_name=u'ФИО юриста')
creditor = models.ForeignKey(Creditor, verbose_name=u'Первичный кредитор')
date_of_bank_decision = models.DateField(verbose_name=u'Дата принятия решения Банком')

class Realty(models.Model):
category = models.ForeignKey(Category, verbose_name=u'Категория')
contract_law = models.ForeignKey(Contract_Law, verbose_name=u'Договор/закон')
location = models.ForeignKey(Location, verbose_name=u'Месторасположение')
adress = models.CharField(max_length=255, verbose_name=u'Адрес')
year_of_building = models.IntegerField(verbose_name=u'Год постройки')
builder = models.ForeignKey(Builder, verbose_name=u'Застройщик')
date_of_finish = models.CharField(max_length=255, verbose_name=u'Срок сдачи объекта')
square = models.DecimalField(max_digits=5,decimal_places=1, verbose_name=u'Площадь общая')
price = models.DecimalField(max_digits=11,decimal_places=2, verbose_name=u'Цена за кв. м.')
и т.д.

и в конце имеется модель, которая связывает все это в единое дело
class Borrower_doc(models.Model):
borrower = models.OneToOneField(Borrower)
document = models.OneToOneField(Document)
credit = models.OneToOneField(Credit)
realty_registration = models.OneToOneField(Realty_registration)
credit_contract = models.OneToOneField(Credit_contract)
realty = models.OneToOneField(Realty)
crediting = models.OneToOneField(Crediting)
extra_info = models.OneToOneField(Extra_info)
как вывести форму модели Borrower_doc, и формы связанных с ней остальных моделей за раз?
т.е. и Borrower_doc, и Borrower, и Document, и Realty и т.д.
можно конечно каждую форму отдельно выводить, обрабатывать, проверять и т.д., нельзя ли это как-то сократить?
или такое как бы не делается? :)

заранее спасибо!



Офлайн

#2 Сен. 8, 2009 14:00:08

denz
От:
Зарегистрирован: 2007-01-09
Сообщения: 117
Репутация: +  0  -
Профиль   Отправить e-mail  

как вывести формы связаных отношениями объектов за раз?

LestatCheb
как вывести форму модели Borrower_doc, и формы связанных с ней остальных моделей за раз?
т.е. и Borrower_doc, и Borrower, и Document, и Realty и т.д.
можно конечно каждую форму отдельно выводить, обрабатывать, проверять и т.д., нельзя ли это как-то сократить?
или такое как бы не делается? :)

заранее спасибо!
Какбы непонятен термин “за раз” ?



Офлайн

#3 Сен. 8, 2009 20:24:34

LestatCheb
От:
Зарегистрирован: 2009-06-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

как вывести формы связаных отношениями объектов за раз?

denz
Какбы непонятен термин “за раз” ?
наверное такого нету :)
это что-то типа “вывести все ModelForm'ы у ForeignKey'ев, которые есть в этой модели”.
т.е. если я вывожу ModelForm у Borrower_doc, то у ForeignKey'ев выводится выпадающие списки, а хотелось бы вместо них ModelForm'ы :)
в общем-то это совсем не критично, просто джанга столько вещей делает легкими, вдруг и здесь есть что-то такое :)
буду дальше выводить каждую ModelForm отдельно.



Офлайн

#4 Сен. 11, 2009 15:24:36

denz
От:
Зарегистрирован: 2007-01-09
Сообщения: 117
Репутация: +  0  -
Профиль   Отправить e-mail  

как вывести формы связаных отношениями объектов за раз?

LestatCheb
denz
Какбы непонятен термин “за раз” ?
наверное такого нету :)
это что-то типа “вывести все ModelForm'ы у ForeignKey'ев, которые есть в этой модели”.
т.е. если я вывожу ModelForm у Borrower_doc, то у ForeignKey'ев выводится выпадающие списки, а хотелось бы вместо них ModelForm'ы :)
в общем-то это совсем не критично, просто джанга столько вещей делает легкими, вдруг и здесь есть что-то такое :)
буду дальше выводить каждую ModelForm отдельно.
Напиши “генератор форм” функцию, которая будет обходить поля модели и при обнаружении ForeignKey добавлять в список вертаемых форм форму для ссылаемого объекта. Но к этому еще нужно будет городить ответную часть - view который поймет, какой модели соответствует присланная форма.
З.Ы. Походу встанет еще вопрос безопасности такого view.



Отредактировано (Сен. 11, 2009 15:28:03)

Офлайн

#5 Окт. 6, 2009 11:23:00

Oduvan
От:
Зарегистрирован: 2008-07-19
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

как вывести формы связаных отношениями объектов за раз?

А еще возможно поможет такая штука

http://docs.djangoproject.com/en/dev/topics/forms/formsets/#topics-forms-formsets



Офлайн

  • Начало
  • » Django
  • » как вывести формы связаных отношениями объектов за раз?[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version