0

У меня есть эта модель.Преобразование значения выбора путем преобразования модели в формат json

ESTADO = ( (0, 'Desabilitado'), (1, 'Habilitado') )

класс Грузы (models.Model): Nombre = models.CharField (max_length = 50, verbose_name = 'Nombre', unique = True) descripcion = models.CharField (max_length = 100, verbose_name = 'Descripcion', blank = True) estado = models.IntegerField (выбор = ESTADO, default = 1, verbose_name = 'Estado')

def __unicode__(self): 
    return '%s - %s'%(self.nombre,self.get_estado_display()) 

class Meta: 
    verbose_name = 'Cargo' 
    verbose_name_plural = 'Cargos' 
    ordering = ['-nombre'] 

У меня есть этот вид:

Защиту listar_cargos (запрос): object_list = Cargo.objects.all() = serializers.serialize JSON ('JSON', object_list) возвращение HttpResponse (JSON, content_type = 'приложение/JSON')

Это возвращает меня, если вы запустите его:

[{"fields": {"descripcion": "sdsds", "nombre": "dsds", "estado": 1}, "model": "inventario. груз "," pk ": 4}, {" поля ": {" descripcion ":" Limpia "," nombre ":" Conserje "," estado ": 1}," model ":" inventario.cargo "," pk ": 2}]

As Я возвращаюсь ко мне? преобразуется в значение выбора. то есть { "Descripcion": "sdsds", "Nombre": "DSDS", "Estado": "Activo"}

+0

К сожалению, неясно, о чем вы спрашиваете. –

+0

object_list = Cargo.objects.all() –

+0

Я хочу передать JSON, чтобы указать значение 1, преобразуется в «Активный» с выбором –

ответ

0
class Cargo(models.Model): 
    nombre = models.CharField(max_length=50,verbose_name='Nombre',unique=True) 
    descripcion = models.CharField(max_length=100,verbose_name='Descripcion', blank=True) 
    estado = models.IntegerField(choices=ESTADO,default=1, verbose_name='Estado') 

    def __unicode__(self): 
     return '%s - %s'%(self.nombre,self.get_estado_display()) 

    class Meta: 
     verbose_name = 'Cargo' 
     verbose_name_plural = 'Cargos' 
     ordering = ['-nombre'] 

    @property 
    def get_estado(self): 
     return self.get_estado_display() 

, а затем использовать model_obj.get_estado, а не model_obj.estado в вашем сериализатором определение.

Возможно, вам придется использовать Django Rest Framework, чтобы сделать это успешно. Если да, см. Этот вопрос https://stackoverflow.com/a/28954424/331974

Смежные вопросы