使用 django-storage 进行 S3 版本控制



我在我的应用程序中使用django-storages,我想开箱即用地使用S3 版本控制。我的意思是,我想在不实施任何其他机制的情况下存储和检索同一文件的不同版本

通过阅读文档,我了解到:

  • 检索对象就像向 GET 请求添加 version=XX 参数一样简单。
  • 上传对象由 S3 本身处理。您只需要在存储桶中配置版本控制

但是,转到代码。如果我有这个:

from django.db import models
from django_s3_storage.storage import S3Storage
storage = S3Storage(aws_s3_bucket_name='test_bucket')
class Document(models.Model):
name = models.CharField(max_length=255)
s3_file = models.FileField(storage=storage)

如何获取文档的一个特定版本?像这样:

doc = Document.objects.get(pk=XX)
doc.s3_file.read(version=XXXXXXXXXX) # Something like this?

我一直在阅读官方文档,但找不到如何:

  • 获取对象的可用版本
  • 检索一个特定版本

编辑:阅读源代码,我知道我可以在url((调用中使用参数,但不确定什么参数(版本?(以及如何获取对象的现有版本。

任何帮助,不胜感激。

好的,@dirkgroten的评论非常准确。所以:

  • 获取对象 使用版本 ID 获取对象的特定版本
  • 列出对象版本
  • 以获取对象的所有可用版本

最新更新