Форум сайта python.su
Прошу помощи с решением такой задачки.
Есть модель с некоторым набором полей
class Supplier(Model): company = models.ForeignKey(Company) title = models.CharField() phone = models.CharField() ...
class PurchaseSupplierForm(forms.ModelForm): class Meta: model = Supplier fields = ('title', 'phone', ...)
Офлайн
1. Можно save у формы переопределить
2. Можно во вьюхе дописывать всё что угодно
def form_valid(self, form): new_record = form.save(commit=false) new_record.company = "djcnksjanckjsdcn" return super(MyView, self).form_valid(form)
Офлайн
FishHook
1. Можно save у формы переопределить2. Можно во вьюхе дописывать всё что угодно
Отредактировано dmc (Окт. 16, 2013 16:55:36)
Офлайн
dmcОтчего же? Форма, она же не из параллельной вселенной возникает. Где то Вы создали класс этой формы, значит можете вносить какие Вам угодно изменения в этот класс. Кто не дает передавать дополнительный параметр в __init__?
думаю что так не получится, поскольку в форме вроде как напрямую нельзя получить request,
class PurchaseSupplierForm(forms.ModelForm): def __init__(self, *args, **kw): self.request = None if "request" in kw: self.request = kw.pop("request")
def get_form(self, form_class): attrs = self.get_form_kwargs() attrs["request"] = self.request return form_class(**attrs)
Офлайн