Django Admin _get_empty_form已被弃用?

时间:2012-12-21 17:20:11

标签: django django-forms django-admin

我一直在使用here找到的代码的实现,它在django-admin中的部署服务器上运行正常。服务器从较旧的django结账(7cfe8e8fce)运行。在我的本地机器上,我正在运行当前的结账(d407164c)。在尝试访问该表单时,我会收到以下错误并引用return行:

def _get_empty_form(self, **kwargs):
    return super(ParentInstInlineFormSet, self)._get_empty_form(parent_instance=self.instance)
empty_form = property(_get_empty_form)

错误文字:

'super' object has no attribute '_get_empty_form'
Request Method: GET
Request URL:    http://localhost:8000/pmc/admin/pmc_log/reportperiod/add/
Django Version: 1.6.dev20121220194515
Exception Type: AttributeError
Exception Value:    
'super' object has no attribute '_get_empty_form'
Exception Location: /software/django-pmc-daily-log/src/pmc_log/pmc_log/forms.py in _get_empty_form, line 18

_get_empty_form去了哪里?有什么最好的解决方法?

2 个答案:

答案 0 :(得分:2)

_开头的_get_empty_form是一个非常好的指标,你不应该依赖它 - 看起来它被删除而转而使用empty_form属性。

尝试修改代码以调用父类的empty_form属性。

答案 1 :(得分:1)

我没有使用私有方法_get_empty_form,而是使用了@property装饰器。

@property
def get_empty_form(self, **kwargs):
    if self.instance is not None:
        return super(ParentInstInlineFormSet, self).empty_form(parent_instance=self.instance)