4

ユーザーが私のサイトにログインすると、投稿を書いて更新することができました。

その後、人々がコメントできるようにする機能の追加を進めていました。バックエンドからコメントを追加し、フロントエンドに正確に表示される段階になりました。

投稿を更新しようとすると、エラーメッセージが表示されます。

ここに画像の説明を入力

コメントクラスを投稿クラスにリンクする外部キーがあるためだと思います。問題をグーグルで検索して StackOverflow を調べてみましたが、読んでいた資料が私の問題にリモートで関連していると完全には確信していませんでした。問題が何であるかをほとんど理解していないため、問題を解決するのに苦労しています。

    # Create your models here.
class Post(models.Model):
    title = models.CharField(max_length=100)
    content =  models.TextField()
    date_posted = models.DateTimeField(default=timezone.now())
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    url= models.SlugField(max_length=500, unique=True, blank=True)

def save(self, *args, **kwargs):
    self.url= slugify(self.title)
    super().save(*args, **kwargs)

def __str__(self):
    return self.title 

def get_absolute_url(self):
    return reverse('article_detail', kwargs={'slug': self.slug})


class Comment(models.Model):
    post = models.ForeignKey(Post,on_delete=models.CASCADE,related_name='comments')
    name = models.CharField(max_length=80)
    email = models.EmailField()
    body = models.TextField()
    created_on = models.DateTimeField(auto_now_add=True)
    active = models.BooleanField(default=False)

class Meta:
    ordering = ['created_on']

def __str__(self):
    return 'Comment {} by {}'.format(self.body, self.name)
4

1 に答える 1