カスタムユーザーモデルを作成しようとしています。このモデルは別のモデルを拡張し、組み込みの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
を。
エンティティを最初に作成するために別の関数を追加する必要がありますか?あるいは、私のモデルを別の方法で構造化すべきですか?
ユーザープロファイルのインスタンスを保存し、作成するための十分ですが、私はプロファイルにエラーが届きません。エラーはエンティティ上にあります。私はプロファイルを1人のユーザに関連付ける必要があります。 – Rizhiy