Source code for fusionbox.db.models

import os

from django.db import models


[docs]def generic_upload_to(instance, filename): """ Generic `upload_to` function for models.FileField and models.ImageField which uploads files to `<app_label>/<module_name>/<file_name>`. """ return os.path.join(instance._meta.app_label, instance._meta.module_name, filename)
[docs]class QuerySetManager(models.Manager): """ http://djangosnippets.org/snippets/734/ Easy extending of the base manager without needing to define multiple managers and queryset classes. Example Usage :: from django.db.models.query import QuerySet from fusionbox.db.models import QuerySetManager class Foo(models.Model): objects = QuerySetManager() class QuerySet(QuerySet): def published(self): return self.filter(is_published=True) """ use_for_related_fields = True def get_query_set(self): return self.model.QuerySet(self.model) def __getattr__(self, attr, *args): if attr.startswith('__') or attr == 'delete': raise AttributeError return getattr(self.get_query_set(), attr, *args)