得到Django Model或Model实例的属性值

有什么好方法得到django model或model instance 的属性值呢?也就是要取得这个类中所有的属性值。
程序代码 程序代码

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']


个人喜欢用第二种方式。

除非申明,文章均为一号门原创,转载请注明本文地址,谢谢!
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: django
相关日志:
评论: 1 | 引用: 0 | 查看次数: -
回复回复www.shipingbaijiale.com[2012-10-25 00:15 AM | del]
这个代码找了很久,终于让我找到了,谢谢中
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.