django model 下的__str__如何返回拼接多列
时间: 2023-07-03 08:11:02 浏览: 110
在 Django 的 model 中,可以使用 `__str__` 方法来定义 model 实例在字符串中的表现形式。如果需要拼接多列作为字符串返回,可以使用 Python 的字符串格式化方法来实现。例如,如果一个 model 包含两个字段 `name` 和 `age`,可以这样定义 `__str__` 方法:
```python
class Person(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
def __str__(self):
return f"{self.name} ({self.age})"
```
这样,当获取一个 `Person` 实例的字符串表现形式时,就会返回该实例的 `name` 字段和 `age` 字段的拼接结果。
相关问题
django model 下的__str__如何返回拼接多列,并增加自定义字符
您可以在 Django Model 中的 `__str__` 方法中拼接多列并增加自定义字符。比如,我们有一个模型叫 `Person`,其中有 `first_name` 和 `last_name` 两个字段,我们想要在打印对象时返回 `last_name, first_name - Person`,则可以这样实现:
```python
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
def __str__(self):
return f"{self.last_name}, {self.first_name} - {self.__class__.__name__}"
```
在这个例子中,我们使用了 Python 中的 f-string,将 `last_name` 和 `first_name` 拼接成了一个字符串。我们还增加了一个自定义的字符 `-` 和模型的类名 `Person`,以便更好地区分不同的对象。
阅读全文