app/django/db/models/__init__.py
author Lennard de Rijk <ljvderijk@gmail.com>
Tue, 07 Apr 2009 21:40:23 +0000
changeset 2121 4f6344dfab28
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Added list of projects to the organization home page. Only projects that have not failed will be shown here. The list will link to each project public page which will contain the necessary info about the project. Addresses part of Issue 491. Patch by: Madhusudan C.S Reviewed by: Lennard de Rijk

from django.conf import settings
from django.core.exceptions import ObjectDoesNotExist, ImproperlyConfigured
from django.db import connection
from django.db.models.loading import get_apps, get_app, get_models, get_model, register_models
from django.db.models.query import Q
from django.db.models.manager import Manager
from django.db.models.base import Model
from django.db.models.fields import *
from django.db.models.fields.subclassing import SubfieldBase
from django.db.models.fields.files import FileField, ImageField
from django.db.models.fields.related import ForeignKey, OneToOneField, ManyToManyField, ManyToOneRel, ManyToManyRel, OneToOneRel
from django.db.models import signals

# Admin stages.
ADD, CHANGE, BOTH = 1, 2, 3

def permalink(func):
    """
    Decorator that calls urlresolvers.reverse() to return a URL using
    parameters returned by the decorated function "func".

    "func" should be a function that returns a tuple in one of the
    following formats:
        (viewname, viewargs)
        (viewname, viewargs, viewkwargs)
    """
    from django.core.urlresolvers import reverse
    def inner(*args, **kwargs):
        bits = func(*args, **kwargs)
        return reverse(bits[0], None, *bits[1:3])
    return inner