django - 在 django 模型中编写 def __str__(self) 的更好方法
问题描述
我正在编写一个 django 应用程序。我很好奇是否有更好的方法来编写__str__()
返回任何对象的字符串表示的python“魔术方法”。目前,按照 Django 文档,我发现您可以执行以下操作...
class Todo(models.Model):
firstName = models.CharField(max_length=30)
secondName = models.CharField(max_length=30)
def __str__(self):
"%s %s" % (self.firstName, self.secondName)
很好,但如果我有 8 个或更多字段,那么这样做会有点烦人。首先,我发现自己在计算我想要多少个字段,并确保写出%s
很多次,然后再写出self.
相同的次数,这真的很糟糕。
我希望如果有人知道更简单的写出来的方法,以及是否有什么区别。我无法在网上找到另一种方法,所以我很感激一些帮助。
解决方案
如果您使用 Python >=3.6,那么您可以使用 f 字符串。
def __str__(self):
return f"{self.firstName} {self.secondName}"
推荐阅读
- javascript - 如何在本机反应中添加图像作为图标?
- javascript - JS打印函数,为什么返回false?
- javascript - Google Maps API:同一地图上的多个方向/路线
- python - 如何在opencv中定义阈值以便将整行放在一起,包括python中的空间
- javascript - 如何发送时区以及日期时间格式?
- javascript - NPM nodemon和调试终端没有输出
- postgresql - 无法在 Rails DB 上验证 Postgresql 和/或编辑 VIM 文件
- javascript - Angular:ngFor数据项并在为空时显示自定义消息
- oracle - 复合唯一标识符和禁止关系
- reactjs - 如何解决网络不稳定问题和网络请求在本机反应中失败