Python ';反向单描述符';对象没有属性';过滤器';
“ReverseMayToneDescriptor”对象没有属性“filter” 为什么?Python ';反向单描述符';对象没有属性';过滤器';,python,django,Python,Django,“ReverseMayToneDescriptor”对象没有属性“filter” 为什么? 我正试图用django创建一个博客,在添加评论和分类时遇到了问题 我犯了一个错误 views.py from django.shortcuts import render, get_object_or_404 from .models import Post, Comment from django.views import generic from djan
我正试图用django创建一个博客,在添加评论和分类时遇到了问题 我犯了一个错误
views.py
from django.shortcuts import render,
get_object_or_404
from .models import Post, Comment
from django.views import generic
from django.http import HttpResponse
from .forms import CommentForm
def blog_list(request):
post = Post.objects.all().order_by('-date')
return render(request,'blog/blog_list.html', {'posts':post})
def blog_detail(request, slug):
#return HttpResponse(slug)
detail_post = Post.objects.get(slug=slug)
comments = Post.comments.filter(active=True)
new_comment = None
# Comment posted
if request.method == 'POST':
comment_form = CommentForm(data=request.POST)
if comment_form.is_valid():
# Create Comment object but don't save to database yet
new_comment = comment_form.save(commit=False)
# Assign the current post to the comment
new_comment.post = post
# Save the comment to the database
new_comment.save()
else:
comment_form = CommentForm()
return render(request,'blog/blog_detail.html', {'detail_post':detail_post, 'comments':comments, 'new_comment': new_comment, 'comment_form': comment_form})
我希望有人能帮我解决添加类别的问题
14.comments = Post.comments.filter(active=True) …
▶ 局部变量
这是我的models.py
from django.db import models
from django.contrib.auth.models import User
class Post(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField()
body = models.TextField()
date = models.DateTimeField(auto_now_add=True)
first_src = models.CharField('первоисточник', blank=True, max_length=100)
author = models.ForeignKey(User, on_delete= models.CASCADE )
thumb = models.ImageField(default='default.png', blank=True)
# add AND GO TO MIGRATE AND MAKEMIGRATIONS !!!
class Meta:
ordering = ['-date']
def __str__(self):
return self.title
def snippet(self):
return self.body[:50]+'...'
"""def get_absolute_url(self):
from django.urls import reverse
return reverse("post_detail", kwargs={"slug": str(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 = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
active = models.BooleanField(default=True)
class Meta:
ordering = ('created',)
def __str__(self):
return 'Comment by {} on {}'.format(self.name, self.post)
怎么了
我希望有人能帮我解决添加类别的问题
14.comments = Post.comments.filter(active=True) …
您试图在类(
Post
)上进行筛选,但希望在特定模型(detail\u Post
)上进行筛选:
comments=detail\u post.comments.filter(active=True)
是的,谢谢,就这样)