mmcardle / django_builder

Django Builder Site

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Extending AbstractUser fails to import AbstractUser

clarson99 opened this issue · comments

When you create a model that extends AbstractUser there 2 issues:

  1. The resulting models.py is missing from django.contrib.auth.models import AbstractUser.
  2. settings.py is missing something like this AUTH_USER_MODEL = 'users.user'

This causes migrations to fail.

image

@clarson99

Thanks for the feedback.

  1. Should be an easy fix, will try to get that updated.
  2. This is slightly more work as a project may have multiple models that could be a AUTH_USER_MODEL there will need to be a way of indicating which one.

For number 2, would this be a reasonable work around?

  1. If there is only one user model
    a. choose it by adding AUTH_USER_MODEL = 'users.user'

  2. if there are multiple user models
    a. add a comment like '# TODO there were multiple user models found, we chose the first one, please uncomment the appropriate model`

    b. add the first model by adding AUTH_USER_MODEL = 'users.user'

    c. add the remaining models, but comment them out like: # AUTH_USER_MODEL = 'users2.user2'

This would at least leave a clue about what is happening, it would ensure the app starts and runs without errors, and lastly you would have to add confusing features to the UI.

Issue 1 should now be fixed and deployed to djangobuilder.io