0

私はモデルを持っています:

class Inventory(models.Model):
    title = models.CharField(max_length=100, db_index=True)
    product_code = models.CharField(max_length=100, db_index=True)
    slug = models.SlugField(max_length=100, db_index=True)
    description = models.TextField()
    cost_ea = models.DecimalField(max_digits=6, decimal_places=2)
    cost_ws = models.DecimalField(max_digits=6, decimal_places=2)
    quantity = models.IntegerField()
    main_image = models.ImageField(upload_to = 'inventory/images/main/', null = True, blank = True)
    thumb_image = models.ImageField(upload_to = 'inventory/images/thumbs/', null = True, blank = True)
    product_category = models.ForeignKey('inventory.Product_Type')
    card_category = models.ForeignKey('inventory.Card_Type')
    last_modified = models.DateTimeField(auto_now = True, auto_now_add = True, null = True,  blank = True, editable = True)
    created = models.DateTimeField(auto_now_add = True, null = True, blank = True, editable = True, default = datetime.datetime.now())
    in_stock = models.BooleanField(default = False)

次のようなフォーム フィールドを作成したいと思います (管理アクションの中間ページになります)。

form.ChoiceField(choices=Inventory.get_all_verbose_names)

モデルからすべての詳細な名前を取得する関数はありますか? そうでない場合、どうすればこれを行うことができますか?

4

1 に答える 1

1

次のようなものを試すことができます

forms.ChoiceField(choices=((f.name, f.verbose_name) for f in Inventory._meta.fields))
于 2012-12-10T13:54:22.870 に答える