Django の auth User モデル クラスを拡張しようとしています。1 つの問題と 1 つの質問があります。これが私のモデルです:
from django.contrib.auth.models import User
class BaseUser(models.Model):
"""
some common fields
"""
user = User.ForeignKey(User, unique=True)
class Meta:
verbose_name = 'Base User'
verbose_name_plural = 'Base Users'
User.profile = property(lambda u: BaseUser.objects.get_or_create(user=u)[0])
class Client(BaseUser):
"""
some client specific fields
"""
class Meta:
verbose_name = 'Client'
verbose_name_plural = 'Clients'
class Owner(BaseUser):
"""
some owner specific fields
"""
class Meta:
verbose_name = 'Owner'
verbose_name_plural = 'Owners'
class Driver(BaseUser):
"""
some driver specific fields
"""
class Meta:
verbose_name = 'Driver'
verbose_name_plural : 'Drivers'
私の問題: たとえば、クライアントを確認するために管理サイトにアクセスすると、次のエラーが表示されます (アプリは etaxi_prod と呼ばれます)。
column etaxi_prod_baseuser.id does not exist
ここで何が起こっているのですか?
上記の解決策が見つかった場合の私の質問: クライアント、ドライバー、および所有者のみをユーザー認証クラスとして処理するために、BaseUser クラスを抽象化するにはどうすればよいですか?