Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 15, 2012 20:49:12

pyOut
От:
Зарегистрирован: 2006-07-16
Сообщения: 125
Репутация: +  0  -
Профиль   Отправить e-mail  

ModelFormSet в ModelForm

Всем привет. Помогите решить проблему.
Имеется 2 модели:

class Phone(models.Model):
code_area = models.CharField(_(u'Код'), max_length=5)
phone = models.CharField(_(u'Телефон'), max_length=15)
comment = models.CharField(_(u'Комментарий'), max_length=50, blank=True)

def __unicode__(self):
return '(%s) %s %s' % (self.code_area, self.phone, self.comment)


class Company(models.Model):
name = models.CharField(_(u'Название'), max_length=255)
phones = models.ForeignKey(Phone, related_name='company_phones', verbose_name=_(u'Телефоны'))

def __unicode__(self):
return self.name
И Форма:
class CompanyForm(forms.ModelForm):
def __init__(self, *args, **kw):
super(CompanyForm, self).__init__(*args, **kw)
self.fields.keyOrder = ['name', 'phones']

class Meta:
model = Company
fields = [
'name', 'phones']
Так вот, как мне можно добавить инлайновое поле Phone с тремя полями(code_area, phone, comment) в форму чтобы можно было добавлять неограниченное количество телефонов в форму?



Офлайн

#2 Янв. 17, 2012 15:37:01

Dr.Livsi
От:
Зарегистрирован: 2010-02-15
Сообщения: 192
Репутация: +  3  -
Профиль   Отправить e-mail  

ModelFormSet в ModelForm

А как одной компании можно сопоставить множество телефонов, если в коде стоит ForeignKey на модель с телефонами?
Тупо сменить ForeignKey в модели Company на ManyToManyField (если одному телефону может быть сопоставлено несколько компаний). Или поставить ForeignKey в модель telephone со ссылкой на company. Дальше Джанга сама все сделает.



Отредактировано (Янв. 18, 2012 08:48:09)

Офлайн

#3 Янв. 18, 2012 18:46:24

andreyjkee
От:
Зарегистрирован: 2011-11-18
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

ModelFormSet в ModelForm

Может кто нибудь объяснить что означает конструкция типа:
super(CompanyForm, self).__init__(*args, **kw)
Что она делает? Что за метод super?



Офлайн

#4 Янв. 19, 2012 05:27:19

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

ModelFormSet в ModelForm

andreyjkee
Может кто нибудь объяснить что означает конструкция типа:
super(CompanyForm, self).__init__(*args, **kw)
Что она делает? Что за метод super?
http://lmgtfy.com/?q=%D0%9B%D1%83%D1%82%D1%86+4-%D0%B5+%D0%B8%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5



Офлайн

#5 Фев. 15, 2012 18:32:20

alexzander77
От:
Зарегистрирован: 2009-01-27
Сообщения: 46
Репутация: +  1  -
Профиль   Отправить e-mail  

ModelFormSet в ModelForm

Добрыйдень.
Господа, Кто сталкивался с одновременным редактированием формсета из modelformset_factory ?
получаю ошибки, если данные в бд не соответствуют форме; если с момента загрузки формы до сабмита кто-то другой изменил данные в бд.
В частности, если записей стало меньше, чем на форме, то имеем лист индекс еррор где-то изнутри ..дб.квери (точно не скажу, форма в процессе переписывания с модельной на обычную)

Так вот вопрос - это поведение имеет место, или это я что-то не так изготовил?
нагуглить ответ не получилось..



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version