Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/django/db/models/utils.py
blob: f696e30ce2ba8c64f5ab0ad959e4814dbdd4be5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from django.utils import six


def make_model_tuple(model):
    """
    Takes a model or a string of the form "app_label.ModelName" and returns a
    corresponding ("app_label", "modelname") tuple. If a tuple is passed in,
    it's assumed to be a valid model tuple already and returned unchanged.
    """
    if isinstance(model, tuple):
        model_tuple = model
    elif isinstance(model, six.string_types):
        app_label, model_name = model.split(".")
        model_tuple = app_label, model_name.lower()
    else:
        model_tuple = model._meta.app_label, model._meta.model_name
    assert len(model_tuple) == 2, "Invalid model representation: %s" % model
    return model_tuple