diff --git a/djangoldp_profile/migrations/0001_initial.py b/djangoldp_profile/migrations/0001_initial.py index e56c42831d66438cad6fb07caa252de25546cae3..9cb36f4c2a4440261d8434a21ba9c7a521052c7c 100644 --- a/djangoldp_profile/migrations/0001_initial.py +++ b/djangoldp_profile/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.20 on 2019-08-28 12:01 +# Generated by Django 1.11.20 on 2019-09-12 18:55 from __future__ import unicode_literals from django.conf import settings @@ -20,12 +20,13 @@ class Migration(migrations.Migration): name='Profile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('slug', models.SlugField(unique=True)), ('available', models.NullBooleanField()), ('bio', models.CharField(blank=True, max_length=150)), ('city', models.CharField(blank=True, max_length=255)), ('phone', models.CharField(blank=True, max_length=255)), ('website', models.URLField(blank=True)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='profile', to=settings.AUTH_USER_MODEL)), ], ), ] diff --git a/djangoldp_profile/models.py b/djangoldp_profile/models.py index 97e58927281bb5950d88c7c44030296a6ca7fb12..0c087a69253755d30ea2a13d04031abff8ce3057 100644 --- a/djangoldp_profile/models.py +++ b/djangoldp_profile/models.py @@ -8,7 +8,8 @@ from djangoldp.models import Model class Profile(Model): - user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) + user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='profile', on_delete=models.CASCADE) + slug = models.SlugField(unique=True) available = models.NullBooleanField(blank=True) bio = models.CharField(max_length=150, blank=True) city = models.CharField(max_length=255, blank=True) @@ -35,6 +36,10 @@ class Profile(Model): @receiver(post_save, sender=settings.AUTH_USER_MODEL) def create_user_profile(sender, instance, created, **kwargs): if created: - Profile.objects.create(user=instance) + Profile.objects.create(user=instance, slug=instance.username) else: - instance.profile.save() + try: + instance.profile.slug = instance.username + instance.profile.save() + except: + pass