Code

Opened 4 years ago

Closed 4 years ago

Last modified 3 years ago

#13512 closed (worksforme)

syncdb fails on application with no models defined

Reported by: Atr3ides Owned by: nobody
Component: Database layer (models, ORM) Version: 1.2-beta
Severity: Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description (last modified by kmtracey)

Traceback (most recent call last):
  File "src/project/manage.py", line 18, in <module>
    management.execute_manager(settings)
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/core/management/base.py", line 217, in execute
    self.validate()
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/core/management/base.py", line 245, in validate
    num_errors = get_validation_errors(s, app)
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/core/management/validation.py", line 28, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/db/models/loading.py", line 146, in get_app_errors
    self._populate()
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/db/models/loading.py", line 61, in _populate
    self.load_app(app_name, True)
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/db/models/loading.py", line 78, in load_app
    models = import_module('.models', app_name)
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/piston/models.py", line 28, in <module>
    admin.site.register(Nonce)
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/contrib/admin/sites.py", line 90, in register
    validate(admin_class, model)
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/contrib/admin/validation.py", line 20, in validate
    models.get_apps()
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/db/models/loading.py", line 115, in get_apps
    self._populate()
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/db/models/loading.py", line 61, in _populate
    self.load_app(app_name, True)
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/db/models/loading.py", line 83, in load_app
    if not module_has_submodule(app_module, 'models'):
  File "/home/user/projects/project/ve/lib/python2.6/site-packages/django/utils/module_loading.py", line 15, in module_has_submodule
    for entry in package.__path__:  # No __path__, then not a package.
AttributeError: 'module' object has no attribute '__path__'

Attachments (0)

Change History (3)

comment:1 Changed 4 years ago by russellm

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Resolution set to worksforme
  • Status changed from new to closed

A stack trace doesn't constitute an error report. You need to tell us how to generate the error.

Working on the assumption that the problem is just 'an app without a models.py', I can't reproduce this.

comment:2 Changed 4 years ago by kmtracey

  • Description modified (diff)

Sounds like (though details of the traceback have changed in the interim): http://code.djangoproject.com/ticket/11696#comment:12. Prior to the introduction of module_has_submodule, things found in INSTALLED_APPS that did not have a __path__ were just ignored. The check was originally put in for "odd things" like eggs (though it's not necessary for eggs); the original person who hit a problem which caused the check to be added actually had a completely unnecessary non-app listed in INSTALLED_APPS. If there's a valid reason for having things in INSTALLED_APPS that don't have a __path__ then we can probably deal with it in module_has_submodule, but I haven't heard that reason yet. The one person who originally ran into the issue when the __path__ check was put in acknowledged it was caused by an error in their INSTALLED_APPS.

comment:3 Changed 3 years ago by jacob

  • milestone 1.2 deleted

Milestone 1.2 deleted

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
as The resolution will be set. Next status will be 'closed'
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.