显示python对象名

显示python对象名,python,django,object,self,Python,Django,Object,Self,在django管理页面中,所有内容都只是显示“xxx对象”,而不是 我在模型中写入的名称: class categoria(models.Model): nomeCategoria = models.CharField(max_length=50) imagemCategoria = models.CharField(max_length=200) def __str__(self): return self.nomeCategoria class post(model

在django管理页面中,所有内容都只是显示“xxx对象”,而不是 我在模型中写入的名称:

class categoria(models.Model):
    nomeCategoria = models.CharField(max_length=50)
    imagemCategoria = models.CharField(max_length=200)

def __str__(self):
   return self.nomeCategoria

class post(models.Model):
    tituloPost = models.CharField(max_length=200,default='tituloPost')
    textoPost = models.TextField()
    textoTagPost = models.TextField()
    categoria = models.ForeignKey(categoria)
    enviadoNewsletter = models.BooleanField(default=False)

def __str__(self):
   return 'Post: ' + self.tituloPost    
我正在使用python 3.4

我还尝试将此代码放在admin.py中:

class categoriaAdmin(admin.ModelAdmin):
    list_display = ('nomeCategoria','imagemCategoria')

admin.site.register(categoria, categoriaAdmin)
但这只会在列表中显示正确的名称。 我认为str的目的是在所有地方显示正确的字段,还是我错了


我是新来的,对我的英语很抱歉,希望有人能帮我。

str或者更好的是unicode需要适当地隔开,以便类具有方法,而不是模块。此外,您可能应该为模型类(即类Categoria)使用标题


str或更好的unicode需要适当地隔开,以便类具有方法,而不是模块。此外,您可能应该为模型类(即类Categoria)使用标题


@iCodez,我回滚了您的编辑,因为缩进问题是问题。@iCodez,我回滚了您的编辑,因为缩进问题是问题。
class categoria(models.Model):
    nomeCategoria = models.CharField(max_length=50)
    imagemCategoria = models.CharField(max_length=200)

    def __str__(self):
       return self.nomeCategoria

class post(models.Model):
    tituloPost = models.CharField(max_length=200,default='tituloPost')
    textoPost = models.TextField()
    textoTagPost = models.TextField()
    categoria = models.ForeignKey(categoria)
    enviadoNewsletter = models.BooleanField(default=False)

    def __str__(self):
       return 'Post: ' + self.tituloPost