gpt4 book ai didi

python - 如何检测文件是否已在模型保存功能中更改

转载 作者:太空宇宙 更新时间:2023-11-04 06:04:24 24 4
gpt4 key购买 nike

当使用现有文件更新记录时,如果文件已更改,我需要从 S3 存储桶中删除旧文件。

在 Django 中如何检测文件是否已更改?

这是我已经尝试过(未测试)的方法,但是 Django 是否为此内置了一些魔法?

def save(self, *args, **kwargs):

existing_file = Asset.objects.get(pk=self.pk)
if existing_file != self.file:
# remove from s3 before saving the new file

最佳答案

==!= 只会比较模型实例的主键(查看 __eq__()__ne__ () 方法 implementation ).

比较模型实例的所有字段的一种方法是调用 model_to_dict()在两者上:

from django.forms.models import model_to_dict

if model_to_dict(existing_file) != model_to_dict(self.file):

您还可以指定 fieldsexclude 参数来控制将哪些字段转储到字典中,在您的情况下,基本上是比较哪些字段。

希望对您有所帮助。

关于python - 如何检测文件是否已在模型保存功能中更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23062926/

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