django-logicaldelete

Софтуер снимки:
django-logicaldelete
Софтуер детайли:
Версия: 1.1 Beta 1 Dev3
Дата на качване: 12 May 15
Розробник: Patrick Altman
Разрешително: Безплатно
Популярност: 1

Rating: nan/5 (Total Votes: 0)

Коментари на разработчика
Джанго-logicaldelete е малък и прост приложение, което хвърлих заедно, за да получите някои повторна употреба от нещо, което правя в почти всеки проект и всеки модел създам & Nbsp;. Това е твърде лесно за добри данни, за да се премахнат и да е невъзстановим. То също е твърде лесно да се определи това с императивни изтриване метод на модела () и просто отбелязване на записи като заличава и след деблокирането Мениджъри Django да замени поведението по подразбиране, така че логично изтрити елементи не са върнати в querysets.
Има две изключения обаче, че аз не съм намерил полезно от това правило.
& Nbsp; 1. В админа ми харесва да виждам всичко с индикатор за това дали тя е била изтрита, с възможност за филтриране до само активни записи, (или изтрити за този въпрос).
& Nbsp; 2. Аз все още мисля, че е валидно заявление, когато даден елемент е пресилено за по неговата стойност първичен ключ, че обектът трябва да се върне, дори ако то е маркиран, като заличава.
<Силен> Използване Джанго-logicaldelete
Използването на приложението е доста проста:
& Nbsp; 1. Сложете подпапката logicaldelete във вашия Python Path.
& Nbsp; 2. Наследявате от logicaldelete.models.Model за всички модели, които искате да споделите в тази функция.
& Nbsp; 3. Създаване и / или Регистрация Администратори за всеки един от тези модели, използващи logicaldelete.admin.ModelAdmin
<Силен> Допълнително
Логическите Изтрива се обработват по дата щамповане на date_removed колона. В допълнение, на DATE_CREATED и date_modified колони ще бъдат населените като удобство.
<Силни> Възможни Extensions
Можете лесно да подклас тези два класа да предоставят общи и полезна функционалност за вашите модели.
UUID Първичен ключ
Аз обикновено се използва UUID полета за моите първични ключове, защото те ми даде възможност да Shard моите таблици, ако и когато се наложи, в допълнение, те осигуряват явен ID в моите данни (хората не могат да определят колко от даден обект имам в моята база данни, ако аз не искам да знам, но просто гледам на цяло число ID в URL).
Sequence Невярно
Много пъти съм го намерите полезно да има поле цяло число на моите модели, които позволяват и изрично контролирано секвениране. Аз обикновено изпълнява това като реализация в низходящ ред, когато данните се сортират от високо към ниско от стойността последователност.
За да се приложи това бихте подклас както модела и ModelAdmin, когато моделът ще бъде очевидна просто добавяне на IntegerField, на ModelAdmin, ще отменят get_query_set, за да направите нещо подобно:
клас SequencedModel (logicaldelete.models.Model):
& Nbsp; последователност = models.IntegerField ()
клас MyLogicalDeletedManager (logicaldelete.models.LogicalDeletedManager):
& Nbsp; Def get_query_set (самостоятелно):
& Nbsp; ако self.model:
& Nbsp;. QS = супер (MyLogicalDeletedManager, самостоятелно) .get_query_set () филтър (date_removed__isnull = True)
& Nbsp; ако SequencedModel в inspect.getmro (self.model):
& Nbsp; QS = qs.order_by ("- последователност")
& Nbsp; връщане QS

Какво ново в тази версия:

  • промени всичко да all_with_deleted на LogicalDeleteManager
  • LogicalDeleteManager преместен от logicaldelete.models да logicaldelete.managers
  • Премахнато заличава и всичко querysets от logicaldelete.models.Model

<силни> Изисквания

  • Python
  • Django

Друг софтуер на разработчика Patrick Altman

django-trending
django-trending

14 Apr 15

formly
formly

20 Feb 15

Коментари към django-logicaldelete

Коментари не е намерена
добавите коментар
Включете на изображения!