1

我一直在使用这里找到的代码的实现,它在我部署的服务器上运行良好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?解决这个问题的最佳方法是什么?

4

2 回答 2

2

_开头的是_get_empty_form一个很好的指标,您不应该依赖它的存在 - 看起来它已被删除以支持使用该empty_form属性。

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

于 2012-12-21T18:43:41.793 回答
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)
于 2013-03-21T14:45:59.393 回答