Django如何获取文件重命名中已创建项的id

时间:2018-01-26 08:31:23

标签: python django

def file_directory_path(instance, filename):
    filename_tr = filename
    name = os.path.splitext(filename)[0]
    ext = os.path.splitext(filename)[1]
    filename_tr = str(instance.pk) + "_" + name + ext

    return 'files/%s' % (filename_tr)

此处instance.pk在尚未创建模型对象时设置为None,是否有办法在创建后以某种方式获取id?或唯一的方法是在save_model处理程序中重新命名它?

1 个答案:

答案 0 :(得分:1)

如果你想在创建对象后获取实例id,你可以在django中使用post_save信号作为你的func。 https://docs.djangoproject.com/en/2.0/ref/signals/#post-save