Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django自动更新用户;save()得到一个意外的关键字参数';强制插入';_Django_Django Admin_Auto Update - Fatal编程技术网

django自动更新用户;save()得到一个意外的关键字参数';强制插入';

django自动更新用户;save()得到一个意外的关键字参数';强制插入';,django,django-admin,auto-update,Django,Django Admin,Auto Update,我正在尝试为使用如上所述创建记录的用户实现自动更新。我无法解决如何绕过kwarg错误“save()得到一个意外的关键字参数‘force_insert’” 国家 save_model方法由HttpRequest、模型实例和 ModelForm实例和一个基于是否添加的布尔值 或更改对象。” 这是自动的还是我需要从视图中传递?如果这不是问题,那么还有什么问题 编辑:更改代码以匹配示例。更新 如果您已重写了Activity的save()方法或同时保存的其他一些模型,但忘记接受force\u insert

我正在尝试为使用如上所述创建记录的用户实现自动更新。我无法解决如何绕过kwarg错误“save()得到一个意外的关键字参数‘force_insert’”

国家

save_model方法由HttpRequest、模型实例和 ModelForm实例和一个基于是否添加的布尔值 或更改对象。”

这是自动的还是我需要从视图中传递?如果这不是问题,那么还有什么问题

编辑:更改代码以匹配示例。

更新

如果您已重写了
Activity
save()
方法或同时保存的其他一些模型,但忘记接受
force\u insert
作为关键字参数,则可能会发生以下错误:

def save(self):
   ...
# should be
def save(self, force_insert=False, force_update=False, using=None):
    ...
# or at least
def save(self, **kwargs):
    ...
检查trackback以查找失败的
保存


您的代码与b-list.org中的代码不完全一致,请尝试:

def save_model(self, request, obj, form, change): 
    if not change:
        obj.cruser = request.user
    obj.save() 

一般来说,您应该只覆盖模型本身中的
save()
方法,而不是某些模型管理员中的方法

在模型中重写save()方法时,为了安全起见,应始终使用
(*args,**kwargs)
。在保存特定模型时,您无法知道正在使用哪些特定参数

您的
活动
模型应该包含如下方法:

def save(self, *args, **kwargs):
    '''do your custom stuff here'''
    return super(Activity, self).save(*args, **kwargs)

谢谢你指出这一点。这是我做的一些测试留下的。我将其更改为正确的代码,但仍会引发相同的错误。@jabs是否已覆盖
Activity
save()
方法或其他一些也被保存的模型。就是这样。我的模型上有一个save()方法。谢谢您好@jabs,请您提供一个代码片段来说明您的解决方案好吗?@ThéoT.Carranza-我想我现在无法进行讨论。如果可以的话,我会把它寄出去。祝你好运
def save(self, *args, **kwargs):
    '''do your custom stuff here'''
    return super(Activity, self).save(*args, **kwargs)