0

私はそのモデルを持っています。モデルをjson形式に変換して選択値を変換します

エスタード=( (0、 'Desabilitado')、 (1 'Habilitado') )

クラスカーゴ(models.Model): ノンブル= models.CharField(MAX_LENGTH = 50、verbose_name estado = models.IntegerField(選択肢= ESTADO、デフォルト= 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'] 

私はこの見解を持っています:

DEF listar_cargos(リクエスト): OBJECT_LIST = Cargo.objects.all() JSON = serializers.serialize( 'JSON'、OBJECT_LIST) リターンのHttpResponse(JSON、CONTENT_TYPE = 'アプリケーション/ JSON')

[{"fields":{"descripcion": "sdsds"、 "nombre": "dsds"、 "estado":1}、 "model": "inventario。 4 "、"フィールド ":{" descripcion ":" Limpia "、" nombre ":" Conserje "、" estado ":1}、" model ":" inventario.cargo "、" pk」:2}]

As私は私に戻りますか? choiseの値に変換されました。あなたのシリアライザにmodel_obj.estadoのではなく、model_obj.get_estado使用し、その後

+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() 

、それは{ "ACTIVO": "sdsds"、 "ノンブル": "dsds"、 "エスタード" "descripcionを"}と言うことです定義。

これを正常に実行するには、Django Rest Frameworkを使用する必要があります。もしそうなら、この質問を参照してくださいhttps://stackoverflow.com/a/28954424/331974

関連する問題