django-logicaldelete

Szoftver screenshot:
django-logicaldelete
Szoftver adatai:
Változat: 1.1 Beta 1 Dev3
Feltöltés dátuma: 12 May 15
Fejlesztő: Patrick Altman
Engedély: Ingyenes
Népszerűség: 1

Rating: nan/5 (Total Votes: 0)

Fejlesztő hozzászólás
Django-logicaldelete egy kicsi és egyszerű alkalmazás, hogy dobtam össze, hogy néhány újrafelhasználás ki valamit, amit én szinte minden projekthez és minden modellben létre. & nbsp; Túl könnyű a jó adatok törlődnek, és állíthatók helyre. Ez is túl könnyű kijavítani ezt felülírja a modell delete () metódusát, és csak lanyhuló nyilvántartás hagyni, majd kihasználva Django Menedzserek felülírni az alapértelmezett viselkedés, hogy logikailag törölt elemek nem tért vissza a querysets.
Két kivétel van azonban, hogy én találtam hasznos ez a szabály.
& Nbsp; 1. Az admin szeretem látni mindent egy mutatója, hogy vagy nem törölték, azzal a képességgel, hogy kiszűrje le, hogy csak az aktív bejegyzések, (vagy törölhető, hogy az ügyben).
& Nbsp; 2. Még mindig úgy gondolom ez egy érvényes kérelmet, ha egy elemet letöltésre által ez elsődleges kulcs értéke, hogy az objektum vissza kell, akkor is, ha nem jelöli meg kell hagyni.
A Django-logicaldelete
A app nagyon egyszerű:
& Nbsp; 1. Tegye a logicaldelete al-mappát a Python Path.
& Nbsp; 2. Öröklés logicaldelete.models.Model minden típus, amit szeretnék megosztani ebben a funkcionalitást.
& Nbsp; 3. Hozzon létre és / vagy Regisztráció adminok minden egyes ilyen modellek segítségével logicaldelete.admin.ModelAdmin
További
Logikai törlések kezeli dátumbélyegző a date_removed oszlopot. Ezen kívül, egy date_created és date_modified oszlopok fogják lakott a kényelem kedvéért.
meghosszabbítható
Könnyedén alosztályba e két osztálya, hogy a generikus és hasznos funkció a modell.
UUID Elsődleges kulcs
Én általában használ UUID területeken az én elsődleges kulcsokat, mert lehetővé teszi számomra, hogy Shard én asztalok és ha igen, mikor kell, továbbá, adnak egy titkosítással id, hogy az adataim (az emberek nem tudja megállapítani, hogy hány egy bizonyos objektum van a az adatbázis, ha nem akarom, hogy tudják, de egyszerűen keres egy egész szám id a URL).
Sequence Field
Sokszor azonban hasznos lehet, van egy egész területen az én modellek, amelyek lehetővé teszik számára, és kifejezetten ellenőrzött szekvenálás. Én általában végrehajtja ezt a csökkenő sorrend végrehajtását, ha az adatok rendezése a magas vagy alacsony a sorrend értéket.
Annak érdekében, hogy a megvalósítás azt alosztályba mind a modell, és ModelAdmin, ahol a modell kézenfekvő egyszerű hozzáadásával IntegerField, a ModelAdmin, így felülírhatja get_query_set, hogy valami ilyesmit:
osztály SequencedModel (logicaldelete.models.Model):
& Nbsp; sorrend = models.IntegerField ()
osztály MyLogicalDeletedManager (logicaldelete.models.LogicalDeletedManager):
& Nbsp; def get_query_set (self):
& Nbsp; Ha self.model:
& Nbsp; qs = super (MyLogicalDeletedManager, self) .get_query_set (). Szűrni (date_removed__isnull = True)
& Nbsp; Ha SequencedModel a inspect.getmro (self.model):
& Nbsp; qs = qs.order_by ('- sorozat)
& Nbsp; visszatérési QS

Mi az új ebben a kiadásban:

  • Megváltozott mindent all_with_deleted a LogicalDeleteManager
  • LogicalDeleteManager költözött logicaldelete.models hogy logicaldelete.managers
  • Az eltávolított hagyni, és mindent querysets re logicaldelete.models.Model

követelmények :

  • Python
  • Django

Más szoftver fejlesztő Patrick Altman

Hozzászólások a django-logicaldelete

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!