gpt4 book ai didi

Django 自动更新用户; save() 得到一个意外的关键字参数 'force_insert'

转载 作者:行者123 更新时间:2023-12-03 22:49:35 25 4
gpt4 key购买 nike

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

admin.py
from myapp.myproj.models import Activity
from django.contrib import admin

class ActivityAdmin(admin.ModelAdmin):
exclude = ('cruser',)
list_display = ('activity_nm', 'activity_desc', 'startdt', 'enddt','upddt','crdt')

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

admin.site.register(Activity, ActivityAdmin)

documentation指出

"The save_model method is given the HttpRequest, a model instance, a ModelForm instance and a boolean value based on whether it is adding or changing the object."



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

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

最佳答案

更新

如果您已覆盖 save() Activity的方法或其他一些同时保存但忘记接受的模型 force_insert作为关键字参数,可能会发生此错误:

def save(self):
...
# should be
def save(self, force_insert=False, force_update=False, using=None):
...
# or at least
def save(self, **kwargs):
...

检查引用以定位失败的 save
您的代码不完全遵循 b-list.org 中的代码,请尝试:
def save_model(self, request, obj, form, change): 
if not change:
obj.cruser = request.user
obj.save()

关于Django 自动更新用户; save() 得到一个意外的关键字参数 'force_insert',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12760262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com