首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在admin中,我看到"App_name对象“,但没有看到实际的对象名称。

在admin中,我看到"App_name对象“,但没有看到实际的对象名称。
EN

Stack Overflow用户
提问于 2013-09-10 19:40:00
回答 1查看 1.4K关注 0票数 3

因此,我通过这个http://mherman.org/blog/2012/12/30/django-basics/教程学习django,我有一个问题。

我在数据库中添加了几本书,但在管理站点中,我只看到"App_name对象“。在我的例子中,我只看到了“图书对象”、“书籍对象”、“书籍对象”等词的列表,而实际上我应该看到的是“战争与和平”、“勇敢的新世界”、“杀死一只知更鸟”。

你知道我的应用程序出了什么问题吗?

(谢谢;)

编辑:添加我的models.py代码

代码语言:javascript
复制
from django.db import models

class Books(models.Model):
    title = models.CharField(max_length=150)
    author = models.CharField(max_length=100)
    read = models.CharField(max_length=3)

    def __unicode__(self):
        return self.title + " / " + self.author + " / " + self.read

我找到了答案:

Django 1.5支持Python 3,但Django 1.5教程是为Python2.x编写的: 本教程是为Django 1.5和Python2.x编写的。如果Django版本不匹配,您可以参考教程中的Django版本,或者将Django更新为最新版本。如果您正在使用Python3.x,请注意,您的代码可能需要与本教程中的代码不同,并且只有当您知道如何使用Python3.x时,才应该继续使用本教程。 在Python3中,您应该定义一个str方法,而不是unicode方法。有一个装饰器python_2_unicode_compatible,它帮助您编写在Python2和3中工作的代码。 @python_2_unicode_compatible类民意测验(models.Model):问题= models.CharField(max_length=200) pub_date =models.DateTimeField(出版日期) def __str__(self):返回self.question以获得更多信息,请参见移植到Python3文档中的str和unicode方法一节。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-10 19:41:57

您还没有定义(或者做错了) __unicode__()模型的Books方法:

  1. 接下来,打开您的models.py文件并添加这两行代码- def __unicode__(self):返回self.title +“/”+ self.author +“/”+ self.read

FYI,引用文档的话

每当在对象上调用unicode()时,都会调用__unicode__()方法。Django在许多地方使用unicode(obj) (或相关函数str(obj))。最值得注意的是,在Django管理站点中显示一个对象,并在它显示对象时作为插入到模板中的值显示。因此,您应该始终从__unicode__()方法返回一个很好的、人类可读的模型表示。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18727460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档