Skip to content

Importing rest_framework.compat may raise AppRegistryNotReady #4608

@rpkilby

Description

@rpkilby

This may just be a wontfix, but wanted to at least make the issue known. In short rest_framework.compat cannot be imported during the Django's app registration/initialization process when django-guardian is in the INSTALLED_APPS. guardian.shortcuts imports Django's auth models, which in turn raises an AppRegistryNotReady exception.

Relevant portion of the stack trace:

  File "lib/python2.7/site-packages/django_filters/compat.py", line 19, in <module>
    from rest_framework.compat import coreapi
  File "lib/python2.7/site-packages/rest_framework/compat.py", line 210, in <module>
    import guardian.shortcuts  # Fixes #1624
  File "lib/python2.7/site-packages/guardian/shortcuts.py", line 6, in <module>
    from django.contrib.auth.models import Group, Permission

See carltongibson/django-filter#525 for more context.

Checklist

  • I have verified that that issue exists against the master branch of Django REST framework.
  • I have searched for similar issues in both open and closed tickets and cannot find a duplicate.
  • This is not a usage question. (Those should be directed to the discussion group instead.)
  • This cannot be dealt with as a third party library. (We prefer new functionality to be in the form of third party libraries where possible.)
  • I have reduced the issue to the simplest possible case.
  • I have included a failing test as a pull request. (If you are unable to do so we can still accept the issue.)

Steps to reproduce

As an example, add 'guardian' and 'django_filters' to INSTALLED_APPS.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions