Django admin:我可以在运行时为管理界面创建一个表单吗?

时间:2012-03-30 09:07:00

标签: django django-forms django-admin

我希望在change_form中显示不同的表单,具体取决于某些模型字段的值。

例如(假设我们有一个房地产代理商):

如果item.type == 'sale',我想显示'价格'字段

如果item.type == 'rent',我想显示' price_per_month',' price_per_month'等 - 但不是价格

ps:示例并不完美 - 因为它的问题可以通过数据库结构解决 - 但我的问题是关于接口

1 个答案:

答案 0 :(得分:2)

ModelAdmin方法get_form接收请求和对象(注意,当您添加新实例时它将是None并返回表单

关于覆盖未记录的方法的常见警告适用,升级时要小心,因为Django的api stability promise不适用。