# 调用时返回自身的属性,不然都是显示xx object
def __str__(self):
return self.name
_str__是python的object基类的一个方法,也就是说python所有的类都有,当然django的modle类也有,我们平常创建一个类的对象,print这个对象时一般会是<__main_.TestClass object at 0x7f4126578828>,即这个对象的所属类和内存地址,我们改写类中的__str__方法后可以在print时得到想要的易于人阅读的对象的信息,以下是实例
# 一般情况
class TestClass:
def __init__(self):
self.name = 'testcase'
t = TestClass()
print(t)
# 得到<__main__.TestClass object at 0x7f8c49b21828>
# 改写__str__方法
class TestClass:
def __init__(self):
self.name = 'testcase'
def __str__(self):
return self.name
t = TestClass()
print(t)
链接:https://www.zhihu.com/question/381815027/answer/1099251933