python models.py 类里面的__str__ 和__unicode__作用

前言

最近学django,看到不少教程里面models.py里面建表,写一个类的时候,习惯上加个__str__ ,开始不太明白,简单的实践后才知道是为了美化类实例的打印内容。

python3 里面用__str__ ,python2里面用__unicode__

写个类在 models.py 中添加

class ComputerRoom(models.Model):     name = models.CharField(max_length=256,verbose_name = "名称")     abbr = models.CharField(max_length=128, blank=True, null=True,verbose_name = "缩写")     type = models.CharField(max_length=256)     exist_buyout = models.IntegerField(blank=True, null=True)     cmd_buyout = models.CharField(max_length=256, blank=True, null=True)     exist_95 = models.IntegerField(blank=True, null=True)     cmd_95 = models.CharField(max_length=256, blank=True, null=True)     maximum = models.IntegerField(blank=True, null=True)     lower_limit = models.IntegerField(blank=True, null=True)     upper_limit = models.IntegerField(blank=True, null=True)     weights = models.IntegerField(blank=True, null=True)     host = models.CharField(max_length=256, blank=True, null=True)     username = models.CharField(max_length=256, blank=True, null=True)     password = models.CharField(max_length=256, blank=True, null=True)     port = models.IntegerField(blank=True, null=True)     maximum_95 = models.BigIntegerField(blank=True, null=True)     lower_limit_95 = models.BigIntegerField(blank=True, null=True)     upper_limit_95 = models.BigIntegerField(blank=True, null=True)     update_time = models.DateTimeField(auto_now=True)          # def __unicode__(self):     #     return self.name      def __str__(self):         return self.name      class Meta:         managed = False         db_table = 'computer_room'         verbose_name_plural = "机房管理"

这里如果我们使用 __unicode__ ,在列表中可以正常显示,但是在 添加/修改 页面显示 Object 对象了。

python models.py 类里面的__str__ 和__unicode__作用

如果使用 __str__ ,则显示正常了。

python models.py 类里面的__str__ 和__unicode__作用

腾讯云限时秒杀【点击购买】

搬瓦工,CN2高速线路,1GB带宽,电信联通优化KVM,延迟低,速度快,建站稳定,搬瓦工BandwagonHost VPS优惠码BWH26FXH3HIQ,支持<支付宝> 【点击购买】!

Vultr$3.5日本节点,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快【点击购买】!

阿里云香港、新加坡VPS/1核/1G/25G SSD/1T流量/30M带宽/年付¥288【点击购买】

python models.py 类里面的__str__ 和__unicode__作用

`微信`扫码 加好友

链接到文章: https://www.gkxyz.com/python-models-py-leilimiande__str__-he__unicode__zuoyong.html

推荐站点

评论已关闭