繁体   English   中英

django-admin:当覆盖保存方法时,“super()参数1必须是type,而不是None”

[英]django-admin: “super() argument 1 must be type, not None” when overriding save method

好吧,另一个无用的错误导致我花了一个小时试图解决这个问题。

我有一个模型'CompanyProfile',直到最近一直在工作,但现在当我尝试通过管理员保存模型时,我得到一个错误,似乎告诉我Object引用为null。 我不知道如何排序。

我像往常一样做一切:

def save(self, force_insert=False, force_update=False):
    super(CompanyProfile, self).save(force_insert, force_update)

我重新启动了服务器,重新安装了django,清理了数据库,但仍然没有运气。 以前有人有任何想法或有这个问题吗?

也许这是循环导入问题? http://markmail.org/message/zothlfayqkbidqfh#query:+page:1+mid:3cnpcw3e4cgo3cas+state:results

在这里的例子中,他在信号中有一个导入声明,这是罪魁祸首。

你可以检查globals()是否有类似的症状..

在重写模型方法时需要使用args / kwargs: http//docs.djangoproject.com/en/dev/topics/db/models/#overriding-model-methods

传递可以传递给模型方法的参数也很重要 - 这就是* args,** kwargs位的作用。 Django将不时扩展内置模型方法的功能,增加新的参数。 如果在方法定义中使用* args,** kwargs,则可以保证代码在添加时会自动支持这些参数。

尝试按照此处文档中save()覆盖示例。 注意使用*args, **kwargs 如果这不起作用那么事情就会严重搞砸了。

只是一个快速的猜测,但这个保存方法肯定是CompanyProfile模型类的一部分,你的缩进是正确的吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM