2013-05-17 35 views
0

我正在嘗試創建博客帖子對象的摘要字段。我希望字段根據上面輸入到TextField(文本)中的文本進行預填充。例如,如果我寫一篇500字的博客文章。我希望總結字段預填充前100個單詞。自動創建TextField的摘要

請參閱下面我的模型:

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屬性就可以了。

任何幫助將是偉大的!

回答

0

您需要重寫保存方法,並在保存時填充您的摘要字段。這應該使您的文本字段的前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) 
+0

謝謝你的幫助!完美的作品。 – Questifer