ich in nächster Zeit in meinen Arbeiten die Models um einige Funktionen erweitern möchte, habe ich hierzu ein paar grundsätzliche Fragen.
http://docs.djangoproject.com/en/dev/to ... el-methods
Code: Alles auswählen
class Blog(models.Model):
name = models.CharField(max_length=100)
tagline = models.TextField()
def save(self, force_insert=False, force_update=False):
do_something()
super(Blog, self).save(force_insert, force_update) # Call the "real" save() method.
do_something_else()
http://docs.djangoproject.com/en/dev/re ... orm-change
Code: Alles auswählen
class ArticleAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.user = request.user
obj.save()
Die gleiche wie im Beispiel oben, nein oder!?
----------------------------------------------------------
Worin besteht der Unterschied zwischen diesen beiden Funktionen (save() <-> save_model())?
Es wird jeweils die Methode der übergeordneten Klasse überschrieben wenn ich das richtig verstehe. Aber in beiden kann man doch Sachen zur Speicherung der Daten modifizieren.
Ich freue mich auf lehrreiche Rückmeldung. Ich könnte sicherlich auch einfach experimentieren und es würde funktionieren. Aber bevor ich damit anfange hätte ich einfach gerne ein wenig Hintergrundwissen.
-------------------------------------------------------------
Noch eine andere Geschichte:
Ich würde gerne in meinem CMS immer einen Wert vorbelegen mit default. Dies soll aber kein String sein, sondern ein durch eine Funktion errechneter Wert sein. Wie realisiere ich das? Ist so etwas wie default="funktionsaufruf" möglich???
Habe es versucht, aber hat nicht ganz geklappt.