使用Django存储的S3版本控制

时间:2019-08-09 11:47:28

标签: django amazon-s3 boto3 python-django-storages

我在我的应用中使用 django-storages ,我想立即使用S3 versioning。我的意思是,我要存储和检索同一文件的不同版本,而无需实现任何其他机制。

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

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

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?

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

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

编辑:通过阅读源代码,我知道我可以使用parameters in url() call,但不确定要使用哪个参数(版本?)以及如何获取对象的现有版本。< / p>

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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