Django:打印出models.Model类的所有选择

时间:2016-08-22 17:51:18

标签: python django django-models

我试图编写一个算法,打印出Django模型类中的所有选项。

例如:我有一个模型:

age:
Console.Write("\nEnter your age :  ");
age = Int32.Parse(Console.ReadLine());

if (age < 0 || age >= 110)
{
    goto age;
}

Console.Write("\nEnter your pin :  ");
pin = Int32.Parse(Console.ReadLine());

预期的输出是这样的:

class SomeModel(models.Model):
  field_a = models.SmallIntegerField(choices=[(1, "a"), (2, "b"), (3, "c")]
  field_b = models.CharField(max_length=255)

请注意,由于缺少选项属性,算法应忽略field_b。

有关如何实现此功能的任何想法?

1 个答案:

答案 0 :(得分:1)

查看meta options文档。您可以通过以下方式实现此目的:

fields = SomeModel._meta.fields()
for field in fields:
    if field.choices:
        print "%s: %s" % (field.name, field.choices)