0
此代码是从models.py在我的应用程序称为文章Django的interactiveshell在对象的形式回报模型对象,而不是作为字符串
from django.db import models
# Create your models here.
class Article(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
pub_date = models.DateTimeField('date published')
likes = models.IntegerField()
def __unicode__(self):
return self.title
我已经添加了3个对象到数据库这样
>>> from django.utils import timezone
>>> a = Article(title = "Test 1", body = "blah blah blah " ,pub_date=timezone.now(),likes=0)
>>> a.save()
>>> a.id
1
>>> a = Article(title = "Test 2", body = "blah blah blah " ,pub_date=timezone.now(),likes=0)
>>> a.save()
>>> a.id
2
>>> a = Article(title = "Test 3", body = "blah blah blah " ,pub_date=timezone.now(),likes=0)
>>> a.save()
>>> a.id
3
>>> Article.objects.all()
<QuerySet [<Article: Article object>, <Article: Article object>, <Article: Article object>]>
每当我调用Article.objects.all()方法时,它会以对象形式返回标题。 从文档unicode方法必须返回字符串形式中的实际标题。
我是新来的Django,我已经尝试了很多更改unicode方法,但似乎没有任何工作。感谢您提前
这里是我得到
from article.models import Article
>>> Article.objects.all()
<QuerySet [<Article: Article object>, <Article: Article object>, <Article: Article object>]>
和输出的输出,我想
<QuerySet [<Article: Article Test 1>, <Article: Article Test 2>, <Article: Article Test 3>]>
你使用p ython 2或3?如果您正在使用python 3,请使用__str __()方法而不是__unicode __()。 –
稍微有些背景信息:[python-str-versus-unicode](http://stackoverflow.com/questions/1307014/python-str-versus-unicode) – Nrzonline