django - 如何在 Django 信号中使用 update_fields
问题描述
我正在尝试使用传递给 Django 中信号的“update_fields”参数。
我现在有一些非常简单的东西,即:
@receiver(pre_save, sender=models.UserAdmin)
@receiver(pre_save, sender=models.UserGroupAdmin)
def update_timestamps(sender, instance, update_fields, **kwargs):
print(f'Update fields: {update_fields}')
update_fields
无论更新什么都显示为无,这表明我没有理解某些内容。
我错过了什么?
解决方案
update_fields
传递给 Model.save() 的要更新的字段集,如果 update_fields 未传递给 save(),则为 None。
save()
update_fields 只是传递您在更新方法中设置的字段
它们不是在特定情况下更新的字段(您可以在此列表中设置几个字段,但可能只有其中一个字段会在数据库中实际更改)
推荐阅读
- excel - 基于变量从范围复制行
- python - Word2vec 从头开始:没有名为“utils_modified”的模块
- python - 只有在使用 Selenium 自动播放 2048 时才会向下移动
- css - 如何使用 % 设置溢出高度?
- javascript - Snowflake 中的 URL 对象
- javascript - 为什么一个代码给了我来自 firebase 的正确密钥,而另一个没有?
- r - 在 dplyr 中使用列号
- html - 验证 SASS 代码时让 Visual Studio 使用最新的 CSS/SASS (@use)
- r - (R) 如何重新编码多个列并将它们作为新列?
- java - 如何使用上面的标签创建一个新的 TextField