Django管理员显示Post对象代替标题

时间:2017-08-20 15:35:02

标签: python django

Django真的很新,所以忍受我:) 我遇到了一个问题,在Django管理员中显示帖子标题。

我在Python 3中都试过了

class Post(models.Model):
    title = models.TextField(max_length=100)
    text = models.TextField(max_length=10000)
    tags = models.TextField(max_length=300)
    comments = models.TextField(max_length=400)

def __str__(self):
   return self.title

和Python 2

class Post(models.Model):
    title = models.TextField(max_length=100)
    text = models.TextField(max_length=10000)
    tags = models.TextField(max_length=300)
    comments = models.TextField(max_length=400)

def __unicode__(self):
    return self.title

但不幸的是在Django管理员中我看到了 "在帖子列表中发布对象"

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

也许你可以试试这个:

from django.utils.encoding import python_2_unicode_compatible

@python_2_unicode_compatible
class Post(models.Model):
    title = models.CharField(max_length=255)
    text = models.TextField(max_length=10000)
    tags = models.TextField(max_length=300)
    comments = models.TextField(max_length=400)

    def __str__(self):
        return self.title

答案 1 :(得分:1)

对于那些可能会追随我的人,您必须在模型类中添加此方法。

def __str__(self):
    return self.title

确保缩进正确,否则可能无法正常工作。

答案 2 :(得分:0)

将您的帖子模型添加到管理网站。编辑应用程序的admin.py文件,使其如下所示:

from django.contrib import admin

from .models import Post
admin.site.register(Post)

管理员有许多用于自定义检查的挂钩documentation