得到Django Model或Model实例的属性值
By:Roy.LiuLast updated:2012-10-23
有什么好方法得到django model或model instance 的属性值呢?也就是要取得这个类中所有的属性值。
第一种可以选择的方法,是利用 __dict__.keys()
第二种方法,利用 _meta.fields ,对类和具体的类实例都是可以用的。
个人喜欢用第二种方式。
from django.db import models class Musician(models.Model): first_name = models.CharField() last_name = models.CharField() instrument = models.CharField()
第一种可以选择的方法,是利用 __dict__.keys()
m = Musician(first_name='Norah', last_name='Jones', instrument='piano') print m.__dict__.keys() #['last_name', 'instrument', 'first_name', 'id']
第二种方法,利用 _meta.fields ,对类和具体的类实例都是可以用的。
print [f.name for f in m._meta.fields] #针对类实例的操作 #['id', 'first_name', 'last_name', 'instrument'] print [f.name for f in Musician._meta.fields]#针对类对象的操作 #['id', 'first_name', 'last_name', 'instrument']
个人喜欢用第二种方式。
From:一号门
Previous:Django model,QuerySet 序列化成json的方法
COMMENTS