django-logicaldelete

Screenshot Software:
django-logicaldelete
Mga detalye ng Software:
Bersyon: 1.1 Beta 1 Dev3
I-upload ang petsa: 12 May 15
Nag-develop: Patrick Altman
Lisensya: Libre
Katanyagan: 1

Rating: nan/5 (Total Votes: 0)

Tingnan ang mga komento Developer
django-logicaldelete ay isang maliit at simpleng app na ako itinapon magkasama upang makakuha ng ilang mga muling paggamit ng isang bagay na gagawin ko sa halos lahat ng proyekto at bawat modelo gumawa ako. & nbsp; Ito ay masyadong madali para sa magandang data upang makuha ang natanggal at ito ay di-mabaligtad. Ito din ay masyadong madaling ayusin ito sa pamamagitan ng pinakamahalaga delete) method (ang modelo at lamang sa pag-flag talaan bilang tinanggal at pagkatapos ay leveraging Managers Django na sasapaw sa default na pag-uugali upang ang mga lohikal na mga natanggal na item ay hindi bumalik sa querysets.
Mayroong dalawang mga eksepsiyon gayunpaman, na ako ay may natagpuan na kapaki-pakinabang sa patakaran na ito.
& Nbsp; 1. Sa admin gusto ko na makita ang lahat ng bagay na may isang tagapagpahiwatig ng kung o hindi ito ay tinanggal na, na may kakayahan upang i-filter pababa sa aktibong lamang records, (o tinanggal na bagay).
& Nbsp; 2. Sa tingin ko pa rin ito ay isang wastong kahilingan kapag ang isang item ay kinukuha para sa sa pamamagitan na ito ay pangunahing susi halaga, iyon ay dapat na ibalik ang mga bagay, kahit na ito ay minarkahan bilang tinanggal.
Ang paggamit ng django-logicaldelete
Gamit ang app ay medyo simple:
& Nbsp; 1. Ilagay ang logicaldelete sub-folder sa iyong Path Python.
& Nbsp; 2. Manahin mula logicaldelete.models.Model para sa lahat ng mga modelo na gusto mong ibahagi sa functionality.
& Nbsp; 3. Lumikha at / o Magrehistro admin para sa bawat isa sa mga modelo ng paggamit logicaldelete.admin.ModelAdmin
Mga Karagdagang
Lohikal pagtanggal ay gagawin sa pamamagitan ng petsa panlililak isang date_removed column. Sa karagdagan, ang isang DATE_CREATED at date_modified haligi ay may naninirahan bilang isang kaginhawahan.
Posibleng Extensions
Maaari mong madaling subclass ito ng dalawang klase upang magbigay generic at kapaki-pakinabang na pag-andar sa iyong mga modelo.
UUID Primary Key
Ako ay karaniwang gamit UUID mga patlang para sa aking pangunahing mga susi dahil sila paganahin ako sa Shard aking mga talahanayan kung at kapag kailangan ko upang, sa karagdagan, nagbibigay sila ng isang obfuscated id sa aking data (mga tao ay hindi maaaring matukoy kung gaano karaming ng isang tiyak na bagay na mayroon ako sa aking database, kung hindi ko nais na malaman ang mga ito, ngunit lamang naghahanap ng isang id ng isang integer sa URL).
Sequence Field
Maraming beses ko mahanap ito ng kapaki-pakinabang na magkaroon ng isang field integer sa aking mga modelo na payagan para sa at malinaw na kinokontrol sequencing. Ako normal ipatupad ito bilang isang uri pababang pagpapatupad kung saan ang data ay pinagsunod-sunod mula sa mataas na mababa sa pamamagitan ng halaga sequence.
Upang ipatupad ito gusto mo subclass pareho ang Modelo at ModelAdmin, kung saan ang Model ay isang malinaw na simpleng pagdagdag ng isang IntegerField, ang ModelAdmin, Gusto override get_query_set, upang gawin ang isang bagay tulad ng:
klase SequencedModel (logicaldelete.models.Model):
& Nbsp; sequence = models.IntegerField ()
klase MyLogicalDeletedManager (logicaldelete.models.LogicalDeletedManager):
& Nbsp; def get_query_set (self):
& Nbsp; kung self.model:
& Nbsp;. Qs = super (MyLogicalDeletedManager, self) .get_query_set () salain (date_removed__isnull = True)
& Nbsp; kung SequencedModel in inspect.getmro (self.model):
& Nbsp; qs = qs.order_by ('- sequence')
& Nbsp; return qs

Ano ang bago sa release na ito:

  • Nagbago ang lahat upang all_with_deleted on LogicalDeleteManager
  • LogicalDeleteManager inilipat mula logicaldelete.models sa logicaldelete.managers
  • Inalis natanggal at lahat ng bagay querysets mula logicaldelete.models.Model

Kinakailangan :

  • sawa
  • Django

Iba pang mga software developer ng Patrick Altman

Mga komento sa django-logicaldelete

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!