Hi Brian,
I'd consider this to be an oversight on Wagtail's part - we should have given our UserProfile model a related_name like wagtail_userprofile to prevent it from colliding. Will open a ticket to address that...
Setting up users through Django admin should be fine - defining group-level permissions (the other thing provided by the wagtailusers app) would be a bit more fiddly, as that relies on a number of Wagtail-specific models that aren't exposed as standard on Django admin. Another issue is that the wagtailusers.UserProfile model defines whether users receive notification emails for page moderation, so with wagtailusers uninstalled, notification emails will never be sent.
An alternative workaround (which may or may not be practical, depending on the size of your project...) would be to set a custom related_name on your own UserProfile so that it doesn't collide with Wagtail's:
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='myapp_userprofile')
- or disable it entirely with related_name='+'. (Looking through Wagtail's code, it looks like we always access the UserProfile using UserProfile.get_for_user, rather than following the relation - if your app does the same, you shouldn't need related_name at all.)
Cheers,
- Matt