python - 值错误。无法分配查询集。它必须是一个实例
问题描述
我想在我的评论模型中创建对象。这是我对帖子的回复模型。
class Reply(MPTTModel):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
detail = models.CharField(max_length=50, null=True, blank=True, unique=True)
pub_date = models.DateTimeField(auto_now_add=True)
last_edited = models.DateTimeField(auto_now=True)
author = models.ForeignKey(User, on_delete=models.CASCADE)
class MPTTMeta:
order_insertion_by = ['name']
这是我的回复视图功能。
def post_detail(request,id,**kwargs):
post = Post.objects.all().filter(id=id)
comment = CommentReply.objects.filter(post=id)
context = {'post': post, 'comment': comment}
if request.method == 'POST':
comments = request.POST.get('comment')
Reply.objects.create(
post=post, detail=comments, author = request.user)
else:
return render(request, 'khalidblog_app/full_detail.html', context)
return render(request,'khalidblog_app/full_detail.html',context)
我在我的模板中使用 for 循环:
{% for post in post %}
<img alt='' src='{{ post.image.url }}' class='avatar avatar-80 photo' height='80' width='80' />
<div class="eltd-author-description-text-holder">
<h5 class="eltd-author-name"> {{post.author}} </h5>
<div class="eltd-author-text">
<p>{{post.title}}</p>
</div>
<div class="eltd-author-text">
<p>{{post.content}}</p>
<hr>
</div>
{%endfor%}
当我运行此视图函数时,它显示如下值错误。
Cannot assign "<QuerySet [<Post: Author : zorainTiTleFirst PostDated :2021-01-17 16:27:47.043869+00:00>]>": "Reply.post" must be a "Post" instance.
如何使用此视图功能在此回复模型中设置 forignkey(Post)?
解决方案
推荐阅读
- listview - 有没有办法解决电视的 Xamarin.Forms Tizen ListView rowheight 属性限制?
- python - 熊猫:比较连续的行
- json - Flutter: Execute a function on Startup - wait for HTTP response parser to extract image URL
- javascript - Possibility about conditional export ES6 module based on process.env.NODE_ENV?
- ios - 我在运行适用于 iOS 的 AudioKit SamplerDeomo 时遇到运行时错误,显示“线程 10:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)”
- sql - SELECT DISTINCT SELECT 其他列
- javascript - this.setState is failing to pass information from res.data
- http - 我正在使用球衣并通过 Tomcat 8.5.35 部署我的 api,但总是出现 Http 500 错误
- laravel-passport - 在 Laravel 5.8 中使用 Passport 验证 API 的问题
- python - 将所有非字符串 JSON 值转换为字符串值