Also müßte ich bei einer cms.models.Page Instanz die Felder created_by, creation_date, changed_by, changed_date ändern.
Kann man aber nicht so einfach setzten, weil in save() den User selber über _thread_locals.users setzt.
Außerdem nutzten die Zeit-Stempel auto_now / auto_now_add
Nun könnte ich RAW-SQL machen. Aber über das ORM ist mir das lieber...
Nun hab ich ein neues Model nur mit den Feldern gemacht, welches auf die selbe Tabelle zugreift:
Code: Alles auswählen
class PagePatchModel(models.Model):
created_by = models.CharField(max_length=70)
changed_by = models.CharField(max_length=70)
creation_date = models.DateTimeField()
changed_date = models.DateTimeField()
class Meta:
app_label="cms"
db_table = "cms_page"
Ich hab auch versucht über ein Proxy Model zu gehen. Damit kann ich den User ändern, wenn ich explizit save() mit django.db.models.base.Model.save() ersetzte... Doch die Zeit-Stempel Felder kann ich dadurch nicht ändern. Ein temporäres ändern von auto_now/auto_now_add hat nicht funktioniert.
Aktuelle Lösung: https://github.com/jedie/PyLucid/commit ... f7ef66e0fe
Wie geht es einfacher?