【发布时间】:2011-03-10 17:33:59
【问题描述】:
我正在尝试在我的模型中写下字段时迭代它们:
目前我正在使用这个:
def attrs(self):
for attr, value in self.__dict__.iteritems():
yield attr, value
但顺序似乎非常随机 :(
有什么想法吗?
【问题讨论】:
标签: python django django-models
我正在尝试在我的模型中写下字段时迭代它们:
目前我正在使用这个:
def attrs(self):
for attr, value in self.__dict__.iteritems():
yield attr, value
但顺序似乎非常随机 :(
有什么想法吗?
【问题讨论】:
标签: python django django-models
Model 类和实例上的_meta 属性是django.db.models.options.Options,它提供了对有关Model 的各种有用信息的访问。
对于字段,它会按照它们的创建顺序(即它们被声明的顺序)给你它们。
def attrs(self):
for field in self._meta.fields:
yield field.name, getattr(self, field.name)
【讨论】: