[pyar] Consulta sobre Django FileField y Storages

Emiliano Dalla Verde Marcozzi edvm en fedoraproject.org
Jue Dic 8 22:34:39 ART 2016


El 8 de diciembre de 2016, 21:48, Nicolás Demarchi <listas en gilgamezh.me>
escribió:

> Hola a todos!
>
> Estoy pensando cómo solucionar un tema con django y tal vez alguien de la
> lista ya se encontró con este problema.
> En django no esta permitido hacer override de un field en subclases [0] y
> tengo una situación donde me gustaría utilizar un storage o una
> configuración de storage diferente
> para una subclase.  Por ejemplo
>
> DEFAULT_FILE_STORAGE = 'mi_storage_custom'
>
> class Coso(models.Model):
>     un_archivo = models.FileField(upload_to="un_path/cualquiera",
> help_text="El archivo")
>
>
> class SubCoso(Coso):
>     """Clase que tiene todo igual a Coso pero quiero que
>
>     el campo un_archivo use otro storage"""
>     # me gustaría algo tipo
>     # un archivo.storage = my_recontra_custom_storage
>     pass
>
> Alguna idea de como solucionar esto sin hacer algo muy hackish
> Un ejemplo de la vida real sería que quiero diferente configuración en S3,
> diferente bucket_name, o usar S3 para la subclase pero no para la clase
> padre, etc.
>
> Nico, me parece que lo que queres hacer es tener un CustomTypeField para
tu MyRecontraCustomStorage
y no meterte con models.Model. Siguiendo tu ej seria algo como:

class Coso(models.Model):
    un_archivo = models.FileField(upload_to="un_path/cualquiera",
help_text="El archivo")


class SubCoso(Coso):
    un_archivo = MyRecontraCustomStorage(...)


Saludos!

-- 
Find me at http://edvm.chiba.ga <https://github.com/edvm>

<edvm en python.org.ar>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20161208/41fa3b1b/attachment.html>


Más información sobre la lista de distribución pyar