2017-08-20 42 views
0

真的很新的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管理我看到 「Post對象」 在帖子列表

在此先感謝您的幫助。

+1

是縮進在你的代碼中是否正確?意思是'__str__'應該放在類塊內 – PRMoureu

+1

你確定你的方法'__str__'和'__unicode__'是否在你的模型中? (縮進) – wencakisa

+0

我認爲縮進是正確的,我沒有錯誤,它似乎很好。以防萬一,我甚至刪除了這個空間。 – devnull

回答

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 
+0

哇這是偉大的,並在python 3上正常工作!我怎樣才能使它在python 2上工作呢? :) – devnull

+0

我在Python 2.7中使用它,所以它也可以在Python 2中工作。 –

0

將您的發佈模型添加到管理網站。編輯您的應用程序的admin.py文件,並使它看起來像這樣:

from django.contrib import admin 

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

管理員已定製檢查許多掛鉤documentation

+0

他說:「但不幸的是,在Django管理員中,我在帖子列表中看到」發佈對象「。這意味着他已經註冊了他們。 – wencakisa

+0

我已經有這在admin.py從django.contrib進口管理 從.models進口郵政 admin.site.register(郵政) – devnull