当我使用对象名称时,我得到了' DeferredAttribute'对象没有属性' get'

时间:2017-06-26 18:36:19

标签: python django

我是django的新人。我真的对视图过滤器感到困惑。

这是我的models.py

class Author(models.Model):
    title = models.CharField(max_length=30)
    user=models.ForeignKey(User)
    age= models.CharField(max_length=2)
    post= models.ManyToManyField(Article)
    def __str__(self):              
        return self.title

    def __str__(self):
        return self.post

    def __str__(self):
        return self.age

class Meta:
    ordering = ('title','user',)

这是我的views.py

def posting(request):
    details = Author.age.get(pk=request.user.id)
    return render(request,'home.html' , {'detail':details})

现在我需要获取当前登录的用户(年龄或标题或帖子)。当我执行代码时,我得到上述错误。如何过滤登录用户的特定对象?

请向我推荐一些视图过滤器的文档。

1 个答案:

答案 0 :(得分:3)

您通过管理器返回模型实例后访问字段(默认管理器名为objects),而不是直接:

author = Author.objects.get(user=request.user)
age = author.age

谈论一些文档Django documentation是一个很好的起点。