Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 自动创建TextField的摘要_Python_Django_Model - Fatal编程技术网

Python 自动创建TextField的摘要

Python 自动创建TextField的摘要,python,django,model,Python,Django,Model,我正在尝试创建博客文章对象的摘要字段。我希望该字段根据上面输入的文本字段(text)进行预填充。例如,如果我写一篇500字长的博客文章。我希望summary字段预先填充前100个单词 有关我的型号,请参见以下内容: class Post(models.Model): title = models.CharField(max_length=100) pub_date = models.DateTimeField() cover_photo = models.ImageFie

我正在尝试创建博客文章对象的摘要字段。我希望该字段根据上面输入的文本字段(text)进行预填充。例如,如果我写一篇500字长的博客文章。我希望summary字段预先填充前100个单词

有关我的型号,请参见以下内容:

class Post(models.Model):
    title = models.CharField(max_length=100)
    pub_date = models.DateTimeField()
    cover_photo = models.ImageField(upload_to='coverphotos/')
    text = models.TextField()
    summary = models.CharField(max_length=200)
    slug = models.SlugField(max_length=40, unique=True)
我研究过如何像处理URL段塞一样处理它,但我找不到一种方法来去除连字符并在其上放置max_length属性


任何帮助都会很好

您需要覆盖save方法,并在save时填充摘要字段。这将使摘要成为文本字段的前100个字符

class Post(models.Model):
    title = models.CharField(max_length=100)
    pub_date = models.DateTimeField()
    cover_photo = models.ImageField(upload_to='coverphotos/')
    text = models.TextField()
    summary = models.CharField(max_length=200)
    slug = models.SlugField(max_length=40, unique=True)

    def save(self, *args, **kwargs):
        if self.text:
            self.summary = self.text[:100]
        super(Post, self).save(*args, **kwargs)

谢谢你的帮助!工作完美。