我正在阅读并尝试了解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

10-06 10:25