我想對Django框架進行以下修改。Django - 邏輯刪除
我希望它爲我創建的每個模型創建一個「已刪除」字段。
我希望它被檢查爲刪除,當我從管理頁面中刪除它而不是物理刪除。
我不希望檢查這些記錄被刪除列出。
我是新來的Django,我看到我是否能夠輕鬆地做我想做的事情。我需要這個改變,因爲這是我們目前的工作方式。
到目前爲止,這些都是我所做的改變,我想了解整個Django framewok是如何工作的,但是我離得很遠,是否有任何在線文檔可以清楚地解釋內部框架零件/文件/模塊/類一起工作,每一個的具體作用等
在base.py文件中,在模型庫類,低於這個代碼,
for obj_name, obj in attrs.items():
new_class.add_to_class(obj_name, obj)
我加入,
from django.db import models
new_class.add_to_class('deleted', models.BooleanField())
創建模型時,會向其添加「已刪除」字段。
在base.py文件中,保存方法,我改變了它在那裏的
self.deleted = True
self.save()
所以,現在檢查作爲刪除的記錄,而不是物理刪除它。
現在我想要的是那些記錄不被列出。
謝謝,正如我之前所說,我沒有太多的框架知識,這很可能會有一個更好的解決方案,以添加該字段的問題。所以我可以創建一個帶有刪除字段的基類,並從中擴展我的模型,但我沒有考慮到這一點,無論如何,這個想法總是以這種方式使用它,但是你是對的,如果你希望可能性更好創建基類而不是觸摸框架源代碼 – Pablo 2009-11-05 14:06:41