django-logicaldelete

軟件截圖:
django-logicaldelete
軟件詳細信息:
版本: 1.1 Beta 1 Dev3
上傳日期: 12 May 15
許可: 免費
人氣: 1

Rating: nan/5 (Total Votes: 0)

開發者評論
Django的logicaldelete是一個小而簡單的應用程序,我扔在一起,得到一些重用出來的東西我做的幾乎每一個項目,每一個模型創建 這太容易了良好的數據被刪除,這是不可恢復的。這也太容易通過覆蓋模型的delete()方法,只是記錄標記為刪除,然後利用Django的管理者要覆蓋默認行為,以便邏輯刪除項查詢集不返回來解決這個問題。
有兩個例外然而,我發現有用的這條規則。
  1。在管理,我喜歡看到的一切與它是否已被刪除的指標,具有過濾下來只主動記錄,(或刪除為此事)的能力。
  2。我仍然認為這是一個有效的請求,當一個項目是由它的主鍵值,該對象應該返回,即使它被標記為刪除牽強。
使用Django-logicaldelete
使用的應用程序是非常簡單的:
  1。把logicaldelete子文件夾在你的Python路徑。
  2。從logicaldelete.models.Model繼承所有你希望在這個功能來分享模式。
  3。創建和/或註冊管理員為每個車型使用logicaldelete.admin.ModelAdmin的
其他
邏輯刪除按日期沖壓date_removed列處理。此外,一個DATE_CREATED和DATE_MODIFIED列將被填充的方便。
可能的擴展
您可以輕鬆地繼承這兩個類提供通用的和有用的功能添加到您的模型。
UUID主鍵
我通常使用UUID字段我的主鍵,因為它們使我分片我的表,如果,當我需要,此外,他們提供了一個混淆的ID,以我的數據(人不能確定有多少某個對象我在我的數據庫,如果我不想讓他們知道,只是看在URL中的整數ID)。
序列字段
很多時候,我發現它有用有一個整數字段在我的模型,允許並明確控制的測序。我通常實現這個作為降序排序的實現,其中的數據是由高排序,以通過低序列值。
為了實現這一點,你會繼承這兩個模型的ModelAdmin,這裡的模式將是一個明顯的簡單相加的IntegerField的的ModelAdmin,會覆蓋get_query_set,做這樣的事情:
類SequencedModel(logicaldelete.models.Model):
 序列= models.IntegerField()
類MyLogicalDeletedManager(logicaldelete.models.LogicalDeletedManager):
 高清get_query_set(個體經營):
 如果self.model:
  QS =超(MyLogicalDeletedManager,個體經營).get_query_set()濾波器(date_removed__isnull = TRUE)
 如果SequencedModel在inspect.getmro(self.model):
  QS = qs.order_by(' - 序“)
 返回QS

什麼在此版本中是新的

  • 改變一切all_with_deleted上LogicalDeleteManager
  • LogicalDeleteManager從logicaldelete.models搬到logicaldelete.managers

  • 從logicaldelete.models.Model
  • 刪除刪除一切查詢集

要求

  • 在Python的
  • Django的

顯影劑的其他軟件 Patrick Altman

nashvegas
nashvegas

14 Apr 15

formly
formly

20 Feb 15

django-site-access
django-site-access

14 Apr 15

意見 django-logicaldelete

評論沒有發現
添加評論
打開圖片!