Найти - Пользователи
Полная версия: ModelForms
Начало » Django » ModelForms
1
TimonOmsk
Может я чего то не понимаю или не так делаю…

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

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


В общем я запутался и у меня ниче не получается :(
playpauseandstop
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.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB