、あなたはジャンゴ・復帰を試みることができる、またはカスタマイズされたフィールド内またはGFKフィールドに区切って、テーブルの行の例えばDBの種類では、過去のファイルの
- トラック名、。
- globファイルは、ファイル名が管理されている限りオンラインです。
実際にはすべてのユーザーのアップロードを処理するために、生の名前を使用するのではなく、設計したパターンで名前を付ける方がよい(後で使用するために生の名前を保存することもできます)。名前フィールドがユニークであるので、あなたのケースについては、フィールドは、それはほとんど変化しない場合は、アップロードされたファイルのファイル名を生成するための拠点として適している:
import os.path
from django.hash_compat import sha_constructor
def upload_to(self, filename):
return 'nanoz_file/%s%s' % (
sha_constructor(self.name).hexdigest(), os.path.splitext(filename)[-1])
class Probe(models.Model):
name = models.CharField(max_length=200, unique=True)
nanoz_file = models.FileField(upload_to=upload_to, blank=True)
を次に、あなたのビューでは、名前のリストを取得することができプローブインスタンスプローブの全ファイルのうち、
import glob
# be careful to operate directory securely
glob.glob(os.path.join(
os.path.dirname(probe.nanoz_file.path),
'%s*' % sha_constructor(probe.name).hexdigest()))
出典
2012-03-23 07:31:37
okm
[django-reversion](https://github.com/etianen/django-reversion)を検討しましたか? – jpic
@jpic、それは面白いですが、おそらく過剰です。私は単に古いファイルを保存する方法が必要です。 – Greg