Skip to content

Instantly share code, notes, and snippets.

@jorgeas80
Forked from fabiomontefuscolo/models.py
Created November 28, 2016 23:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jorgeas80/d4b21bb5e5eac4243c78f338e1d6eec1 to your computer and use it in GitHub Desktop.
Save jorgeas80/d4b21bb5e5eac4243c78f338e1d6eec1 to your computer and use it in GitHub Desktop.
Let the Django FileField overwrite files with the same name
# -*- coding: utf-8 -*-
from django.conf import settings
from django.core.files.storage import FileSystemStorage
from django.db import models
class OverwriteStorage(FileSystemStorage):
'''
Muda o comportamento padrão do Django e o faz sobrescrever arquivos de
mesmo nome que foram carregados pelo usuário ao invés de renomeá-los.
'''
def get_available_name(self, name):
if self.exists(name):
os.remove(os.path.join(settings.MEDIA_ROOT, name))
return name
class Media(models.Model):
name = models.CharField(u"Nome", max_length=128))
media = models.FileField(u"Arquivo", upload_to=settings.MEDIA_DIR, storage=OverwriteStorage())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment