django-dbfilestorage/dbfilestorage/models.py
Tyrel Souza 1014315f9c Added some better content type fixes, a better save, and delete fails... (#19)
* Added some better content type fixes, a better save, and delete fails silently

* better unicode method

* fix comment, and extract test

* only stick to mimetype guess

* delete QS unconditionally
2017-01-10 11:29:28 -05:00

26 lines
852 B
Python

from django.db import models
class DBFile(models.Model):
""" Model to store and access uploaded files """
# This is kept as `name` and not something like `md5` because the file
# operations pass around `name` as the identifier, so it's kept the same
# to make sense.
name = models.CharField(max_length=100, primary_key=True)
# file data
content_type = models.CharField(max_length=100)
b64 = models.TextField()
def __unicode__(self):
return u"{name} <{content_type}>".format(
name=self.name, content_type=self.content_type)
def save(self, **kwargs):
if self.content_type is None:
# If content type guessing fails,
# use octet stream as a major fallback
self.content_type = "application/octet-stream"
super(DBFile, self).save(**kwargs)