0
我試圖在更改字段時跟蹤更改。如何跟蹤在Django模型中使用update()時發生的更改
無論何時使用.save()方法,我都可以看到Django Admin History中的更改,但每當使用.update()方法時,它都不記錄我在對象中更改的內容。
我想使用update(),因爲它可以同時更改多個字段。這使得代碼更清潔,更高效的(一個查詢,一行...)
現在,我使用這個:
u = Userlist.objects.filter(username=user['username']).update(**user)
我可以看到所有的變化,當我做
u = Userlist.objects.get(username=user['username'])
u.lastname=lastname
u.save()
我還使用django-simple-history來查看changes.setup。
不幸的是,沒有一個裝飾器強迫這種行爲的信號... – mk2
我還沒有遇到過任何。舊的黑客工程(請參閱我的更新),但不建議 –
是的,我將列表中更改的字段存儲在列表中,然後迭代完成,然後逐個更改。最後我會保存新的對象。它的計算量更大一些,而且不夠清潔,但我需要跟蹤這些變化......謝謝,摩西。 – mk2