いくつかの方法でそれを行うことができます:
1.手動で追跡するドキュメント ファイル モデルを使用できます。
class DocumentFile(CachedModel):
content_type = models.ForeignKey(ContentType, null=True, blank=True)
object_id = models.PositiveIntegerField(null=True, blank=True)
content_object = generic.GenericForeignKey(ct_field='content_type', fk_field='object_id')
file = models.FileField(upload_to= wherever )
version = models.PositiveIntegerField(default=1)
class Meta:
db_table = 'document_file'
verbose_name = 'Document File'
unique_together = ('document', 'version')
new_version という post_save シグナルを使用して、ドキュメントの現在のリビジョン番号を更新できます。
2. Amazon の s3 を使用してドキュメントを保存し、リビジョン番号の get パラメータを渡してアクセスすることもできます (これはコストのかかる方法です)。