我一直在使用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
去了哪里?有什么最好的解决方法?
答案 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)