django - 当我只尝试编辑时,Django Admin save_model() 创建一个新对象
问题描述
我最初的问题是我试图将当前用户附加到新条目,所以我覆盖了下面的save_model
方法admin.ModelAdmin
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)
推荐阅读
- asp.net-core - 使用 Sustainsys-Saml2 和 ASP.net Core 动态加载 SAML2 IDP
- python - 在 Python 中使用 np.vectorize 映射布尔值
- google-api - Android SafetyNetClient.attest() 超时
- java - 如何从输入文件中的一行数字中逐个读取数字
- python - 如何在没有任何模型的蓝图中使用烧瓶 sqlalchemy 中的 db.execute
- javascript - HTML 中的自定义属性 (data-) 在 JavaScript 中不起作用
- python - Factur-X Python 库的问题
- bash - 如何将 bash 函数转换为 fish 函数?
- applescript - 在应用程序中激活带有标题的窗口
- r - 无法在 R Studio 中安装包 - 无法翻译...到本机编码