Django --魔法方法:def __str__()

Posted gengyufei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django --魔法方法:def __str__()相关的知识,希望对你有一定的参考价值。

  1. __str__是python的object基类的一个方法,也就是说python所有的类都有
  2. 当然django的modle类也有
  3. 我们平常创建一个类的对象,print这个对象时一般会是<__main_.TestClass object at 0x7f4126578828>,即这个对象的所属类和内存地址
  4. 我们改写类中的__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)        # 得到testcase

 




以上是关于Django --魔法方法:def __str__()的主要内容,如果未能解决你的问题,请参考以下文章

/writeReview/1 __str__ 处的 Django 模型 TypeError 返回非字符串(int 类型)

迁移后在 Django 上更改 db_table 不起作用,并且添加用户 (AbstractUser) 外键会破坏 __str__()

Django

Django入门4--admin

Django Queryset __in 列表中没有值

django-AttributeError: 'str' object has no attribute 'decode'