Conjunto 0ce0b64 en seiven


Ignorar:
Fecha y hora:
18/09/2017 10:07:14 (hace 7 años)
Autor:
Ing. Roldan D. Vargas G <rvargas@…>
Branches:
master
Children:
4107fb7
Parents:
f591439
Mensaje:

modelos abstractos para la gestión de datos en modo de solo lectura

Fichero:
1 editado

Leyenda

No modificado
Añadido
Eliminado
  • base/models.py

    r40567da r0ce0b64  
    1919from django.utils.translation import ugettext_lazy as _
    2020
     21
     22class ModelManagerReadOnly(models.Manager):
     23    """!
     24    Clase que gestiona el método de actualización de datos
     25
     26    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     27    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     28    @date 18-09-2017
     29    @version 1.0.0
     30    """
     31
     32    def update(self, *args, **kwargs):
     33        """!
     34        Método que impide actualizar datos en los registros consultados que extiendan de este modelo
     35
     36        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     37        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     38        @date 18-09-2017
     39        """
     40        pass
     41
     42class ModelReadOnly(models.Model):
     43    """!
     44    Clase que gestiona los objetos y atributos de los modelos, para la simulación de escenarios a partir de datos de fuentes diversas,
     45    como de solo lectura
     46
     47    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     48    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     49    @date 18-09-2017
     50    @version 1.0.0
     51    """
     52
     53    ## Gestiona el ModelManager para solo lectura de datos
     54    objects = ModelManagerReadOnly()
     55
     56    def save(self, *args, **kwargs):
     57        """!
     58        Método que impide registrar datos en los registros consultados que extiendan de este modelo
     59
     60        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     61        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     62        @date 18-09-2017
     63        """
     64        pass
     65
     66    def delete(self, *args, **kwargs):
     67        """!
     68        Método que impide eliminar datos en los registros consultados que extiendan de este modelo
     69
     70        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     71        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     72        @date 18-09-2017
     73        """
     74        pass
     75
     76    class Meta:
     77        """!
     78        Metaclase de la clase ModelReadOnly
     79
     80        @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     81        @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     82        @date 18-09-2017
     83        @version 1.0.0
     84        """
     85
     86        ## Permite especificar los campos del modelo que son requeridos para interactuar con los datos,
     87        # sin necesidad de especificar todos los atributos de un modelo
     88        managed = False
     89
     90        ## Establece el modelo de la clase como abstracto, lo cual no genera tablas en la base de datos
     91        abstract = True
    2192
    2293@python_2_unicode_compatible
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.