将值从ModelAdmin传递给ModelForm

时间:2016-09-21 09:10:00

标签: django

InstrumentAdmin(admin.ModelAdmin)

def get_form(self,request, obj=None, **kwargs):
    if obj:
        return UpdateForm
    else:
        return CreateForm
  1. 在这种情况下,如何将值(obj.id)传递给UpdateForm?我需要从数据库中的另一个表中获取数据的值,并将其显示在UpdateForm的自定义字段中。

  2. 如何从ModelForm获取值?

  3. 我已经找了很多例子,但仍然无法弄清楚它是如何工作的。适合任何帮助。

1 个答案:

答案 0 :(得分:0)

您的代码中存在一些问题。方法get_form()明确意味着返回您想要使用的表单,但是现在您返回超类表单并且第一次检查几乎没用。所以这应该是这样的:

def get_form(self,request, obj=None, **kwargs):
    if obj:
        return UpdateForm
    else:
        return CreateForm
  1. 如何将值传递给表单?只需将值添加为关键字参数,例如,如果表单字段名称为value,请将其设为return CreateForm(value=10)
  2. 至于第二个问题,你能详细说明你想从哪个ModelForm获得什么价值?