django-logicaldelete

Un modelo base que proporciona algunos extras para sus modelos
Descargar ahora

django-logicaldelete Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • MIT/X Consortium Lic...
  • Precio:
  • FREE
  • Nombre del editor:
  • Patrick Altman
  • Sitio web del editor:
  • http://paltman.com

django-logicaldelete Etiquetas


django-logicaldelete Descripción

Un modelo base que proporciona algunos extras para tus modelos. Desarrollador ComentariosDjango-LogicalDelete es una aplicación pequeña y sencilla que vomité para obtener una reutilización de algo que hago en casi todos los proyectos y cada modelo que creo. Es demasiado fácil para los buenos datos para eliminarse y que sea irrecuperable. También es demasiado fácil solucionarlo reforzando el método de eliminación () del modelo y simplemente marcando registros como se eliminan y luego aprovechando los gerentes de Django para anular el comportamiento predeterminado para que los elementos eliminados lógicamente no se devuelvan en QUERYSETS. Sin embargo, tengo dos excepciones. encontrado útil para esta regla. 1. En el administrador, me gusta ver todo con un indicador de si se ha eliminado o no, con la capacidad de filtrarse a los registros activos, (o eliminarse para esa materia). 2. Todavía creo que es una solicitud válida cuando se obtiene un elemento por su valor clave principal, que el objeto debe devolver, incluso si está marcado como se elimina ..Usando Django-LogicalDeleteusing La aplicación es bastante simple: 1. Ponga el Sub-carpeta LogicalDelete en tu camino de Python. 2. Herdique desde LogalDelete.models.model para todos los modelos que desea compartir en esta funcionalidad. 3. Cree y / o registre los administradores para cada uno de estos modelos usando LogalDelete.admin.ModeladminadDitionAlgical Borles se manejan por fecha que marca una columna Date_Removed. Además, se rellenarán las columnas de fecha_creado y date_modified como una conveniencia. Extensibles. Extensible puede subclase fácilmente en estas dos clases para proporcionar una funcionalidad genérica y útil para sus modelos. Tenedor primario de forma generalmente usando campos UUID para mis claves principales porque me permiten fragmentar Mis mesas Si y cuando necesito, además, proporcionan una identificación ofuscada a mis datos (las personas no pueden determinar la cantidad de un objeto determinado que tengo en mi base de datos, si no quiero que lo sepan, sino simplemente Buscando una identificación entera en la URL). Secuence Fieldmany Times Me parece útil tener un campo entero en mis modelos que permiten y se controlan explícitamente la secuenciación. Normalmente implemento esto como una implementación descendente de una especie descendente donde los datos se clasifican de alto a bajo por valor de secuencia. En orden para implementar esto, subclase tanto en el modelo como del Modeladmin, donde el modelo sería una adición simple obvia de un campo entero. , el Modeladmin, anularía get_query_set, para hacer algo así como: SecuencedModel de clase (LogalDelete.Models.Model): Secuencia = Modelos.integerfield () Clase MyLogicalDeletedManager (LogalDelete.models.LogicalDeletedManager): Def get_query_set (yo): si self.model : qs = súper (myLogicalDeletedManager, Self) .get_Query_Set (). Filtro (date_Removed__isnull = True) si se secuenciodla en inspect.getmro (self.model): qs = qs.order_by ('- secuencia') Retreche los requisitos de QS: · Python · Django


django-logicaldelete Software relacionado