KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
My models: class UserProfile(models.Model): TYPES_CHOICES = ( (0, _(u'teacher')), (1, _(u'student')), ) user = models.ForeignKey(User, unique=True) type = models.SmallIntegerField(default=0, choices=TYPES_CHOICES, db_index=True) cities = models.ManyToManyField(City) class City(models.Model): name = models.CharField(max_length=50) slug = models.SlugField(max_length=50) In admin.py: admin.site.unregister(User) class UserProfileInline(admin.StackedInline): model = UserProfile class UserProfileAdmin(UserAdmin): inlines = [UserProfileInline] admin.site.register(User, UserProfileAdmin) @receiver(post_save, sender=User) def create_profile(sender, instance, created, **kwargs): """Create a matching profile whenever a user object is created.""" if created: profile, new = UserProfile.objects.get_or_create(user=instance) But when I add new user and select a city I get that error: IntegrityError at /admin/auth/user/add/ (1062, "Duplicate entry '3' for key 'user_id'") What is wrong with my code? If I don't select any city - user is added properly. Some way, user is being added to UserProfile more than once.
Tags (comma-separated)
Save Edits
Cancel