私は機能を作って、ユーザーが投稿を追加したときにメインビューでそれを呼び出しました。投稿ごとにpost_countを更新するにはどうすればよいですか?
`type object 'Post' has no attribute 'post_count'
私が間違っているのは何:しかしPOST_COUNTは私が新しい記事を追加していると私はこのエラーを取得していたときに更新されていませんか?
これは
class Post(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE,)
title = models.CharField(max_length=100)
body = models.TextField()
date = models.DateField(auto_now_add=True)
likes = models.IntegerField(default=0)
post_count = models.PositiveIntegerField(default=0)
def __str__(self):
return self.title
私model.pyですこれは私のview.pyです:
def create_post(request):
context = RequestContext(request)
if request.method == 'POST':
pform = PostForm(data=request.POST, prefix='PostForm')
if pform.is_valid():
new_post = pform.save(commit=False)
new_post.user = request.user
post_count(request, new_post.user)
new_post.save()
return HttpResponseRedirect('/forum/all')
else:
pform = PostForm()
return render_to_response('forum/createpost.html',
{'pform': pform},
context)
これは、ユーザーごとの投稿数を更新カウントする私の関数です。
def post_count(request, user, **kwargs):
if user:
Post.post_count += 1
Post.save()
モデルの編集後に移行しましたか? –
あなたはクラス変数で作業したいと思いますか? – flaschbier
@JesseBakkerこんにちは、はい、移行は正常に行った。 1人のユーザーあたりのログイン回数をカウントするには、うまくいきました。 – Selena