django_builder icon indicating copy to clipboard operation
django_builder copied to clipboard

Extending AbstractUser fails to import AbstractUser

Open clarson99 opened this issue 2 years ago • 3 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 avatar Mar 11 '23 04:03 clarson99

@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.

mmcardle avatar Mar 14 '23 20:03 mmcardle

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.

clarson99 avatar Mar 15 '23 01:03 clarson99

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

mmcardle avatar Mar 19 '23 10:03 mmcardle