4 回答

TA贡献1820条经验 获得超2个赞
直接利用python提供的json包,在django model的定义中增加一个方法toJSON,利用django model 能访问 _meta.fields 得到相关属性而得到,例子如下:
class Category(models.Model):
autoid = models.AutoField(primary_key=True)
email=models.CharField(max_length=150,blank=False)
comtype=models.CharField(max_length=20,blank=False)
catname=models.CharField(max_length=150,blank=False)
def __unicode__(self):
return '%s' % (self.catname)
def toJSON(self):
import json
return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
然后用django查出数据,并转换成json,代码如下:
row=models.Category.objects.get(autoid=23)
print row.toJSON()

TA贡献1155条经验 获得超0个赞
在firefox中按F12,进入开发者工具,然后选到网络标签,再打开需要返回JSON的页面,就可以看到相应的数据,如下图所示: 1、点重新载入 2、按类型排序,选JSON类型数据 3、点相应的连接,在右侧就会显示json数据

TA贡献1966条经验 获得超4个赞
直接利用python提供的json包,在django model的定义中增加一个方法toJSON,利用django model 能访问 _meta.fields 得到相关属性而得到,例子如下:
123456789101112 | class Category(models.Model): autoid = models.AutoField(primary_key = True ) email = models.CharField(max_length = 150 ,blank = False ) comtype = models.CharField(max_length = 20 ,blank = False ) catname = models.CharField(max_length = 150 ,blank = False ) def __unicode__( self ): return '%s' % ( self .catname) def toJSON( self ): import json return json.dumps( dict ([(attr, getattr ( self , attr)) for attr in [f.name for f in self ._meta.fields]])) |
然后用django查出数据,并转换成json,代码如下:
12 | row = models.Category.objects.get(autoid = 23 ) print row.toJSON() |
添加回答
举报