gpt4 book ai didi

当我只尝试编辑时,Django Admin save_model() 创建一个新对象

转载 作者:行者123 更新时间:2023-12-02 20:21:46 25 4
gpt4 key购买 nike

我最初的问题是我试图将当前用户附加到新条目,因此我重写了 admin.ModelAdmin 下的 save_model 方法来执行

def save_model(self, request, obj, form, change):
obj.submit_usr = request.user
super().save_model(request, obj, form, change)

当我尝试在数据库中创建新对象或新条目时,这非常有效,但是当我尝试编辑现有对象时,它仍然会创建一个新条目

我的模型看起来像(我删除了所有设置以避免这里困惑)

class AppUser(models.Model):
app_name = model.CharField()
submit_usr = models.ForeignKey()
submit_date = model.DateTimeField()

我知道 change arg 指示现有条目是否有更改,但我仍然没有办法告诉 Django 我只想修改当前条目而不是创建一个新的。

有什么想法可以实现这一目标吗?

最佳答案

你可以试试

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

关于当我只尝试编辑时,Django Admin save_model() 创建一个新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51212624/

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