Model in sub-directory via app_label?

Posted by prometheus on Stack Overflow See other posts from Stack Overflow or by prometheus
Published on 2010-03-19T19:28:38Z Indexed on 2010/03/19 19:31 UTC
Read the original article Hit count: 235

In order to place my models in sub-folders I tried to use the app_label Meta field as described here.

My directory structure looks like this:

  • project
    • apps
      • foo
        • models
          • _init_.py
          • bar_model.py

In bar_model.py I define my Model like this:

from django.db import models

class SomeModel(models.Model):

    field = models.TextField()

    class Meta:
        app_label = "foo"

I can successfully import the model like so:

from apps.foo.models.bar_model import SomeModel

However, running:

./manage.py syncdb

does not create the table for the model. In verbose mode I do see, however, that the app "foo" is properly recognized (it's in INSTALLED_APPS in settings.py). Moving the model to models.py under foo does work.

Is there some specific convention not documented with app_label or with the whole mechanism that prevents this model structure from being recognized by syncdb?

© Stack Overflow or respective owner

Related posts about django

Related posts about django-models