我正在阅读并尝试了解Django文档,所以我有一个逻辑问题。
有我的models.py
文件
from django.db import models
# Create your models here.
class Blog(models.Model):
name = models.CharField(max_length=255)
tagline = models.TextField()
def __str__(self):
return self.name
class Author(models.Model):
name = models.CharField(max_length=255)
email = models.EmailField()
def __str__(self):
return self.name
class Post(models.Model):
blog = models.ForeignKey(Blog)
headline = models.CharField(max_length=255)
body_text = models.TextField()
pub_date = models.DateField()
mod_date = models.DateField()
authors = models.ManyToManyField(Author)
n_comments = models.IntegerField()
n_pingbacks = models.IntegerField()
rating = models.IntegerField()
def __str__(self):
return self.headline
每个类中的每个
__str__
函数在做什么?我需要这些功能的原因是什么?
最佳答案
这将覆盖此类的默认名称,类似于Auther:object
,它并不是很有帮助。
覆盖它会给对象提供一个更人性化的名称,例如Auther.name