私が構築している Web サイトでは、ユーザーは複数のプロファイルを持つ 1 つのアカウントを持っています。ユーザーがサインインすると、そのアカウントに関連付けられているすべてのプロファイルがセッションに読み込まれ、特にビュー内のすべてのプロファイルの情報が表示されます。フィールドbookmarks
を Profile クラスに追加しました。サインインするとエラーが発生し、トレースバックでno such table: users_profile_bookmarks
その行が強調表示されます。profile = model_to_dict(profile)
私は南を使用してデータベースの移行を管理していますが、移行は正常に機能します。./manage.py shell
のインスタンスを作成、読み取り、削除することもできますが、シェルのフィールドにProfile
プロファイルを追加しようとすると同じエラーが発生します。bookmarks
モデルは次のとおりです。
from django.db import models
class Account(models.Model):
username = models.CharField(max_length=20)
email = models.CharField(max_length=100)
password = models.CharField(max_length=100)
viewed = models.ManyToManyField('Profile', null=True, blank=True, related_name='viewed_profiles')
visitors = models.ManyToManyField('Profile', null=True, blank=True, related_name='visitors_profiles')
class Profile(models.Model):
field1 = models.CharField(max_length=25)
field2 = models.IntegerField()
account = models.ForeignKey('Account', null=True, blank=True)
links = models.ManyToManyField('self', null=True, blank=True, related_name='links')
bookmarks = models.ManyToManyField('self', null=True, blank=True, related_name='bookmarks')