bennylope / django-organizations

:couple: Multi-user accounts for Django projects

Home Page:http://django-organizations.readthedocs.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot use forms or views with single-table customized organization models

bareynol opened this issue · comments

I have created custom organization, organization user, and organization owner models using the abstract organization models

The "Getting Started" sections of the docs say this about single-table customized organization models:

If however you want to use single-table customized organization models and/or custom organization user models, it may be best to treat Django organizations as a library and not install it in your Django project. See the Advanced customization using abstract models section.

However, forms.py and views.py both import the Organization model from organizations.models, which causes this error:

Django Version: | 2.2.9
-- | --
RuntimeError
Model class organizations.models.Organization doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

I'm currently just copying the forms.py and views.py code over to my app, but is there a better way to accomplish being able to use those utilities without having organizations installed as an app?

My solution: Fork the project and make your desired changes :)

I am not super familiar with the code base, but I guess that one of the problems is here:

return create_organization(

create_organization should be able to add extra parameters for the custom model.

I ran into this issue too.

The problem is more fundamental than just passing parameters - you'd need to sub the model in the Meta for each Form class, etc. And not import the Organization models directly anywhere in the code, otherwise it errors.

It probably needs to follow the swappable model pattern to make this work, I think? (eg like described/supported in https://github.com/openwisp/django-swappable-models)

In the short term, I think the "Cooking with" documentation should at least be updated so people don't butt their heads into this issue unexpectedly (like I did). Happy to put together a PR for that some time in the next little while (and a PR for how swappable models could work too, but that'll take longer ;-) )

Happy to put together a PR for that some time in the next little while

That would be welcomed!