我正在嘗試創建一個自定義用戶模型。這個模型必須擴展另一個模型,並鏈接到內置的django用戶。目前,我有:在Django中擴展模型
class Entity(models.Model):
name = models.CharField(max_length=256, null=True, blank=True)
class Profile(Entity):
user = models.OneToOneField(User, on_delete=models.CASCADE)
@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()
但是當我嘗試創建一個用戶我得到一個錯誤:UNIQUE constraint failed: project_profile.entity_ptr_id
。
我是否需要添加另一個函數來首先創建實體?還是應該以另一種方式構建我的模型?
是的,但我不會在輪廓得到一個錯誤。錯誤在實體上。我需要將配置文件與僅一個用戶相關聯。 – Rizhiy