Django:访问模型属性

ign*_*low 6 python django django-models

为noobish问题道歉,我对Python和Django都是全新的,并试图制作我的第一个应用程序.

我有一个简单的课程

class About(models.Model):
    title = models.CharField(max_length=200)
    description = models.TextField()
    date = models.DateTimeField('date added')
Run Code Online (Sandbox Code Playgroud)

我添加了一条记录.我可以访问它

about = About.objects.filter(id=1)
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试使用点语法来访问其属性,我会收到以下错误

    >>> about.title
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'QuerySet' object has no attribute 'title'
Run Code Online (Sandbox Code Playgroud)

我知道如何在模型中使用unicode来指定更好的返回值,例如

def __unicode__(self):
    return self.title
Run Code Online (Sandbox Code Playgroud)

我应该使用它来将模型数据格式化为字典/列表吗?或者我只是完全错过了一些默认行为?

Bla*_*air 11

在您的情况下,about是一个QuerySet对象,而不是您的模型的实例.尝试

print about[0].title
Run Code Online (Sandbox Code Playgroud)

或者,使用get()来检索模型的单个实例:

about = About.objects.get(id=1)
print about.title
Run Code Online (Sandbox Code Playgroud)