django、Pythonを勉強中ですが、「no such column: sns_friend.user_id」というエラーで表示できません。
データベースの問題なのかよくわかりませんが、解決できる方法をご教授いただければ幸いです。
その他必要な情報があれば追記します。
models.py
1from django.db import models 2from django.contrib.auth.models import User 3 4# Messageクラス 5class Message(models.Model): 6 owner = models.ForeignKey(User, on_delete=models.CASCADE, \ 7 related_name='message_owner') 8 group = models.ForeignKey('Group', on_delete=models.CASCADE) 9 content = models.TextField(max_length=1000) 10 share_id = models.IntegerField(default=-1) 11 good_count = models.IntegerField(default=0) 12 share_count = models.IntegerField(default=0) 13 pub_date = models.DateTimeField(auto_now_add=True) 14 15 def __str__(self): 16 return str(self.content) + ' (' + str(self.owner) + ')' 17 18 def get_share(self): 19 return Message.objects.get(id=self.share_id) 20 21 class Meta: 22 ordering = ('-pub_date',) 23 24# Groupクラス 25class Group(models.Model): 26 owner = models.ForeignKey(User, on_delete=models.CASCADE, \ 27 related_name='group_owner') 28 title = models.CharField(max_length=100) 29 30 def __str__(self): 31 return self.title 32 33# Friendクラス 34class Friend(models.Model): 35 owner = models.ForeignKey(User, on_delete=models.CASCADE, \ 36 related_name='friend_owner') 37 user = models.ForeignKey(User, on_delete=models.CASCADE) 38 group = models.ForeignKey(Group, on_delete=models.CASCADE) 39 40 def __str__(self): 41 return str(self.user) + ' (group:"' + str(self.group) + '")' 42 43# Goodクラス 44class Good(models.Model): 45 owner = models.ForeignKey(User, on_delete=models.CASCADE, \ 46 related_name='good_owner') 47 message = models.ForeignKey(Message, on_delete=models.CASCADE) 48 49 def __str__(self): 50 return 'good for "' + str(self.message) + '" (by ' + \ 51 str(self.owner) + ')' 52
OperationalError: no such column: sns_friend.user_id
`settings.py`で`DEBUG = True`にするとデバッグモードになります。エラーとなっている箇所がブラウザに表示されるのでよく読んでみましょう。
エラーメッセージからすると、おそらくviewかformでFriendのuserフィールドへのアクセス方法が誤っています。
`user_id`という書き方をしているところがあやしいのでデバッグして調べてみてはどうでしょうか?
あなたの回答
tips
プレビュー