我有一个这样的模型,我怎样才能遍历它而不必输入 company.id、company.name 等?
class Company(models.Model):
name = models.CharField(max_length=1000)
website = models.CharField(max_length=1000)
email = models.CharField(max_length=200)
phone_number = models.CharField(max_length=100)
city = models.CharField(max_length=1000)
zip = models.IntegerField()
state = models.CharField(max_length=1000)
address = models.CharField(max_length=1000)
address2 = models.CharField(max_length=1000)
最佳答案
你可以像这样遍历所有字段名
for name in Company._meta.get_all_field_names():
print name
如果您有类别实例,这也适用:
c = Company(name="foo",website="bar",email="baz@qux.com",....,)
c.save()
for field in c._meta.get_all_field_names():
print getattr(c, field, None)
Django 1.8 更新
Django 1.8 现在有一个 official model Meta api您可以轻松获取所有字段:
from django.contrib.auth.models import User
for field in User._meta.get_fields():
print field
关于python - 我如何遍历对象的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10353804/