Уведомления

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

#1 Авг. 2, 2014 17:03:42

django2014
Зарегистрирован: 2014-06-29
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

сохранить поле в представление классе

Как подредактировать значение некоторого поля при обработке формы в представление-классе UpdateView?

class MyUpdate(UpdateView):
    model =MyModel
    fields = [ 'f1', 'f2' ]
Нужно всегда при обновлении уставливать некоторое значение для поля f3, например f3=0. При этом поле f3 не доступно пользователю.

какой из методов я должен выбрать:
as_view()
dispatch()
form_invalid()
form_valid()
get()
get_context_data()
get_form()
get_form_kwargs()
get_object()
head()
http_method_not_allowed()
post()
put()
render_to_response()
?

может пример имеется?

Офлайн

#2 Авг. 2, 2014 17:58:01

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

сохранить поле в представление классе

django2014
ти повинен зробити modelform де вкажеш які поля редагувати і цю форму передати в updateview

Офлайн

#3 Авг. 2, 2014 20:43:28

django2014
Зарегистрирован: 2014-06-29
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

сохранить поле в представление классе

Singularity
django2014ти повинен зробити modelform де вкажеш які поля редагувати і цю форму передати в updateview
Извиняюсь, но я не понял зачем мне делать modelform? Я указываю в представлении классе те, поля, к-е передаются в форму и обрабатываются. И не знаю, как мне скрыто сохраниять значение в некоторое поле, к-е не отображается для пользователя, но существует.

Отредактировано django2014 (Авг. 2, 2014 20:44:12)

Офлайн

#4 Авг. 2, 2014 20:50:40

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

сохранить поле в представление классе

django2014
якщо треба щоб данні були в формі видні то

def get_initial(self):
    return { 'f': 0 }
# так ще спробуй
initial = { 'value1': 'foo', 'value2': 'bar' }
якшо ні то просто в def clean() пишеш шо тобі там треба

Отредактировано Singularity (Авг. 2, 2014 20:50:55)

Офлайн

#5 Авг. 2, 2014 22:50:14

django2014
Зарегистрирован: 2014-06-29
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

сохранить поле в представление классе

Singularity
def get_initial(self): return { ‘f’: 0 } # так ще спробуй initial = { ‘value1’: ‘foo’, ‘value2’: ‘bar’ }

я form_valid переопределил, все работает.

Офлайн

  • Начало
  • » Django
  • » сохранить поле в представление классе[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version