openwisp/django-netjsongraph

Provide base classes for: models, admin, appconfig

Closed this issue · 0 comments

The current abstract models cannot be imported and extended independently by third-party apps because they are located in the same python file as the concrete ones, so if a third party tries to import one of the abstract models, the concrete model will be loaded as well and django will complain that django_netjsongraph is not in INSTALLED_APPS.

We need to make many parts reusable to avoid repetition in "OpenWISP Network Topology":

  • models
  • admin
  • AppConfig
  • API views
  • API urls

A good example of a similar work is django-netjsonconfig, see Extending django-netjsonconfig and check out how each reusable class / function is implemented.