python采用unicode,python字符比较是用unicode进行的吗?
谢谢你的邀请。
其实楼上@InjetLee说的基本到位。这是Django特有的。无论这个__unicode__(python3是__str__)方法是否在模型中定义,最直接的感受就是你访问admin时看到的东西是否友好。
接下来举个栗子:
课堂提问(模型。型号):
question_text=models。CharField(问题文本,max_length=200)
pub_date=模型。DateTimeField(“发布日期”)
类别元:
verbose_name=question
详细名称复数=详细名称
ordering=[-id]
def __str__(self):
返回self.question_text
以上模型来自django的官方教程。在上面的模型中,我定义了一个名为Question的模型。这时我访问了django的后台admin,看到了以下内容。
可以发现,Question看到的是我们上面返回的self.question_text(如果返回其他数据,会看到不同的结果)。那么,如果此时将上面的代码注释掉,会发生什么,也就是变成如下这样?
课堂提问(模型。型号):
question_text=models。CharField(问题文本,max_length=200)
pub_date=模型。DateTimeField(“发布日期”)
类别元:
verbose_name=question
详细名称复数=详细名称
ordering=[-id]
#
# def __str__(self):
#返回self.question_text
此时,去后台管理查看问题,变成这样:
你定义的问题和你看到的内容都变成了问题宾语。这种表达对人相当不友好。
所以,以上就是我对__unicode__作用的理解。希望对你有帮助。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。