Because of the code:
from django.contrib.auth.models import User class UserProfile(models.Model): # project userprofile, also set as AUTH_PROFILE_MODULE user = models.ForeignKey(User, unique=True) class AppUserProfile(UserProfile): # some app specific extension
and also the test:
user = User.objects.create() profile = UserProfile.objects.get_or_create(user=user) AppUserProfile.objects.create(user=user)
it fails around the last line, saying:
IntegrityError: column user_id is not unique
Things I suspect is the fact that Django uses exactly the same table for user-userprofile and user-anotheruserprofile relationship based on ForeignKey.
How do i solve this issue?
The reason for the mistake is always that you're creating two UserProfile-s with similar user_id. You're using "multi-table inheritance", which means you just call AppUserProfile.objects.get_or_create(user=user) and it'll act as expected.
Documentation for Django Models describes it very good.