Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 11, 2008 21:58:53

TimonOmsk
От:
Зарегистрирован: 2008-06-11
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

ModelForms

Может я чего то не понимаю или не так делаю…

В общем проблема такая:

в общем я создаю форму из модели и в форме использую только 3 поля из модели
когда данные формы обрабатываются мне нужно вставить их в базу, для этого я использую form.save()
НО! Мне нужно вставить еще данные в те поля модели которые я не использую в форме, каким образом мне это сделать


В общем я запутался и у меня ниче не получается :(



Офлайн

#2 Июнь 11, 2008 22:48:36

playpauseandstop
От:
Зарегистрирован: 2007-10-31
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

ModelForms

Overriding default model methods

As explained in the database API docs, each model gets a few methods automatically — most notably, save() and delete(). You can override these methods to alter behavior.

A classic use-case for overriding the built-in methods is if you want something to happen whenever you save an object. For example:
class Blog(models.Model):
    name = models.CharField(max_length=100)
    tagline = models.TextField()
    def save(self):
        do_something()
        super(Blog, self).save() # Call the "real" save() method.
        do_something_else()
You can also prevent saving:
class Blog(models.Model):
    name = models.CharField(max_length=100)
    tagline = models.TextField()
    def save(self):
        if self.name == "Yoko Ono's blog":
            return # Yoko shall never have her own blog!
        else:
            super(Blog, self).save() # Call the "real" save() method.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version