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() |
添加回答
舉報