Я получаю следующую ошибку:
dsapi.Profile.user: (fields.E304) Reverse accessor for 'Profile.user' clashes with reverse accessor for 'Profile.user'.
HINT: Add or change a related_name argument to the definition for 'Profile.user' or 'Profile.user'.
dsapi.Profile.user: (fields.E305) Reverse query name for 'Profile.user' clashes with reverse query name for 'Profile.user'.
Все мои исследования показали, что для каждой проблемы создается related_name
. Но в моем случае это говорит мне, что у обратного аксессора проблема сама с собой. Есть здесь какие-нибудь мысли? Ниже приведен код проблемы c в моем файле models.py.
import uuid
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
class DsapiModel(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
created_at = models.DateTimeField(auto_now_add=True, editable=False)
updated_at = models.DateTimeField(auto_now=True, editable=False)
class Meta:
abstract = True
class Profile(DsapiModel):
"""
Extend User model using one-to-one link
Save a query using users = User.objects.all().select_related('profile')
"""
user = models.OneToOneField(User, on_delete=models.CASCADE)
favorite_sites = models.ManyToManyField(Site)
def __str__(self):
return self.user.username
@receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs):
if created:
Profile.objects.create(user=instance)
@receiver(post_save, sender=User)
def save_user_profile(sender, instance, **kwargs):
instance.profile.save()