Python';s unicode

Python';s unicode,python,unicode,Python,Unicode,我有以下资料: from django.db import models class Category(models.Model): name = models.CharField(max_length=200) def _unicode_(self): return self.name class Item(models.Model): category = models.ForeignKey(Category) dateadded = m

我有以下资料:

from django.db import models

class Category(models.Model):
    name = models.CharField(max_length=200)

    def _unicode_(self):
        return self.name

class Item(models.Model):
    category = models.ForeignKey(Category)
    dateadded = models.DateTimeField('date added')
    name = models.CharField(max_length=200)
    description = models.TextField()
    quantity = models.IntegerField()

我的问题是
def\u unicode\u(self)
不起作用。有什么想法吗

你应该使用
def\uuuuuuunicode\uuuuu
你应该使用
def\uuuuunicode\uuuuuu
你所说的“不起作用”是什么意思?同时修复标题…Python中的所有特殊方法的每边都有双下划线,而不是单下划线。这就是为什么它们被称为“dunder方法”而不是“sunder方法”?我用它创建了一个示例网站,在网站上有一个名为Categoris的表。当我添加一个新的类别并将其命名为“Books”时,它会将其命名为通用的“category object”。我对python非常陌生,所以如果我问得不恰当,我很抱歉。哦,双下划线而不是一。我甚至没有意识到!真不敢相信这是那么明显。非常感谢您的快速回复!你说的“不工作”是什么意思?还要修改标题……Python中的所有特殊方法的每一面都有双下划线,而不是单下划线。这就是为什么它们被称为“dunder方法”而不是“sunder方法”?我用它创建了一个示例网站,在网站上有一个名为Categoris的表。当我添加一个新的类别并将其命名为“Books”时,它会将其命名为通用的“category object”。我对python非常陌生,所以如果我问得不恰当,我很抱歉。哦,双下划线而不是一。我甚至没有意识到!真不敢相信这是那么明显。非常感谢您的快速回复!回答得不错,但如果能解释一下区别就更好了:名字前后都有两个下划线,而不是一个。(如果字体不够好,可能很难看出你是否不知道自己在找什么。)答案不错,但最好能解释一下区别:名字前后都有两个下划线,而不是一个。(如果字体不够好,可能很难看出你是否不知道自己在找什么。)