获取 title 一直提示这个错误 AttributeError: 'QuerySet' object has no attribute 'title' 但是明明库里面有这个 title 字段的
# Create your models here. class article(models.Model): title = models.CharField(u'标题', max_length=60) category = models.CharField(u'标签', max_length=10, null=False) createtime = models.DateTimeField(u'createtime', auto_now_add=True) cOntent= models.TextField(u'内容', blank=True, null=True) def __str__(self): return self.title class mete: ordering = ['-createtime_time'] class Tag(models.Model): tag_name = models.CharField(max_length=10) def __str__(self): return self.tag_name
![]() | 1 virusdefender 2016-09-11 15:18:54 +08:00 QuerySet 相当于[Model, Model, ...] 你需要遍历或者使用 get 方法 |
2 cxbats 2016-09-11 15:19:59 +08:00 这一段看起来没问题,猜测问题在视图里,可能是你在该用 `get` 的地方用了 `filter` |
![]() | 3 lovebeyondalways OP @cxbats @virusdefender def index(request): post = article.objects.all() postlist = ("title = %s, category = %s, creatime = %s, cOntent= %s" % (post.title, post.category, post.creatime, post.content)) return render(request, 'index.html', {'postlist': postlist}) 前辈们帮看下 |
4 cxbats 2016-09-11 15:32:48 +08:00 ![]() post = article.objects.all() 这一句的返回值是 QuerySet ,你想获得文章列表需要遍历,去看看 https://docs.djangoproject.com/en/1.10/topics/db/queries/ 吧 |
![]() | 5 lovebeyondalways OP @cxbats 谢谢 这就去看 |
![]() | 6 xavierskip 2016-09-11 15:53:09 +08:00 article.objects.all() 获取的是一个对象列表呀。 [< article: title1>,< article: title2>,< article: title3>,< article: title4> ] |
7 laoyur 2016-09-11 16:35:45 +08:00 @xavierskip 获得的是 QuerySet ,自己看文档去 另外, class mete: ordering = ['-createtime_time'] 这是什么鬼,不是应该是 class Meta 嘛 |
![]() | 8 lovebeyondalways OP @laoyur 这就尴尬了 |
![]() | 9 lovebeyondalways OP 已经通过遍历解决了 谢谢楼上 |
![]() | 10 saxon 2016-09-11 18:24:31 +08:00 答主 是自学还是? 通过神马途径熟悉 django 呢 能否加个好友 交流一下 |
![]() | 11 lovebeyondalways OP @saxon 我是自学中,没有完整的编程学习经验,通过廖雪峰的教材入门,然后看 djangobook ,看 django 的小项目开发,如博客这种,现在就是在练习做一个博客 |
![]() | 12 xavierskip 2016-09-11 23:11:49 +08:00 @laoyur 是的,一个可以遍历的对象。不严谨了,打印出来长那样。 |
![]() | 13 NaVient 2016-09-12 09:54:49 +08:00 @lovebeyondalways model 有改动吗,改动之后要先 migrate 。另外少用%s,多用 format 。 |
![]() | 14 wind3110991 2016-09-12 23:14:06 +08:00 .....for 一下就好 |