source: gestor_consulta/consulta/serializers.py

Last change on this file was 9eeb2c3, checked in by rudmanmrrod <rudman22@…>, 7 años ago

Añadido de nuevo django filter, incorporado en el modelo de perfil

  • Propiedad mode establecida a 100644
File size: 3.0 KB
Línea 
1# -*- coding: utf-8 -*-
2"""
3Sistema de Consulta Pública
4
5Copyleft (@) 2017 CENDITEL nodo Mérida - https://planificacion.cenditel.gob.ve/trac/wiki/ModeladoTopicos_2017
6"""
7## @package consulta.serializers
8#
9# Serializadores de los modelos de consulta para el rest framework
10# @author Rodrigo Boet (rboet at cenditel.gob.ve)
11# @author <a href='http://www.cenditel.gob.ve'>Centro Nacional de Desarrollo e Investigación en Tecnologías Libres
12# (CENDITEL) nodo Mérida - Venezuela</a>
13# @copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a>
14# @version 1.0
15from .models import Consulta, Pregunta, Opcion, TipoPregunta
16from rest_framework import serializers
17
18class OpcionSerializer(serializers.HyperlinkedModelSerializer):
19    """!
20    Metodo que permite serializar el modelo opcion
21
22    @author Rodrigo Boet (rboet at cenditel.gob.ve)
23    @copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a>
24    @date 22-06-2017
25    @param serializers.HyperlinkedModelSerializer <b>{object}</b> Objeto del serializer
26    @return Retorna los datos de contexto
27    """
28   
29    class Meta:
30        model = Opcion
31        fields = ('texto_opcion','id')
32
33class TipoPreguntaSerializer(serializers.HyperlinkedModelSerializer):
34    """!
35    Metodo que permite serializar el modelo tipo de pregunta
36
37    @author Rodrigo Boet (rboet at cenditel.gob.ve)
38    @copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a>
39    @date 22-06-2017
40    @param serializers.HyperlinkedModelSerializer <b>{object}</b> Objeto del serializer
41    @return Retorna los datos de contexto
42    """
43   
44    class Meta:
45        model = TipoPregunta
46        fields = ('tipo',)
47
48class PreguntaSerializer(serializers.HyperlinkedModelSerializer):
49    """!
50    Metodo que permite serializar el modelo pregunta
51
52    @author Rodrigo Boet (rboet at cenditel.gob.ve)
53    @copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a>
54    @date 20-06-2017
55    @param serializers.HyperlinkedModelSerializer <b>{object}</b> Objeto del serializer
56    @return Retorna los datos de contexto
57    """
58   
59    tipo_pregunta = TipoPreguntaSerializer(read_only=True)
60   
61    opciones = OpcionSerializer(many=True, read_only=True)
62   
63    class Meta:
64        model = Pregunta
65        fields = ('id','texto_pregunta','tipo_pregunta','opciones')
66
67class ConsultaSerializer(serializers.HyperlinkedModelSerializer):
68    """!
69    Metodo que permite serializar el modelo consulta
70
71    @author Rodrigo Boet (rboet at cenditel.gob.ve)
72    @copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a>
73    @date 20-06-2017
74    @param serializers.HyperlinkedModelSerializer <b>{object}</b> Objeto del serializer
75    @return Retorna los datos de contexto
76    """
77
78    preguntas = PreguntaSerializer(many=True, read_only=True)
79   
80    class Meta:
81        model = Consulta
82        fields = ('id','nombre_consulta', 'activa','preguntas')
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.