Tuesday, April 26, 2016

emailuser accessor clash after migrating to Django 1.6

HI All,
In an existing project I got the following error after upgrading to Django 1.6.11
CommandError: One or more models did not validate:
emailu
ser.emailuser: Accessor for m2m field 'groups' clashes with related m2m field 'Group.user_set'. Add a related_name argument to the definition for 'groups'.
emailuser
.emailuser: Accessor for m2m field 'user_permissions' clashes with related m2m field 'Permission.user_set'. Add a related_name argument to the definition for 'user_permissions'.
auth
.user: Accessor for m2m field 'groups' clashes with related m2m field 'Group.user_set'. Add a related_name argument to the definition for 'groups'.
auth
.user: Accessor for m2m field 'user_permissions' clashes with related m2m field 'Permission.user_set'. Add a related_name argument to the definition for 'user_permissions'.

After reading some docs, I was enabling the:
AUTH_USER_MODEL = "emailuser.EmailUser"
and the unitTests were running.

BUT, the DB tables created for the unit test look completely different then for the original project, which I plan to upgrade.
In the original DB schema I have the following tables
auth_group
auth_group_permissions
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
django_admin_log
django_content_type
django_select2_keymap
django_session
emailuser_emailuser
emailuser_emailuser_groups
emailuser_emailuser_user_permissions
emailuser_passwordreset

whereas the following tables are missing in the unit test DB when using
AUTH_USER_MODEL = "emailuser.EmailUser

Missing tables:
auth_user
auth_user_groups
auth_user_user_permissions

For the emailuser I was using the django-libtech-emailuser==0.2., but this was already used in the original installation.

Now I have multiple questions:
1.) Why do I get these CommandError, when it was already working in the old installation? Or is it possible that the DB schema was generated with other settings then in the final settings.py?
2.) Accoring to my 'newbie' knowledge it is not a good idea to change the AUTH_USER_MODEL after first DB was released. How can I get the rid of the error mentioned above without changing the AUTH_USER_MODEL (which is not set in the original settings.py)?
3.) Why are the tables auth_user, auth_user_groups and auth_user_user_permissions not generated?
4.) Does it make sense to stick with emailuser lib, if I would like to migrate to Django 1.8 or 1.9? Or was this lib finally integrated?

Thanks for any hints.
Marcel

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/5bbec7a3-0583-43e5-8847-15612a207986%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment