首页 > 解决方案 > 使用 Django 计算 TextField 字符数

问题描述

我用 Python3.6 创建了这个简单的计数器,我想在我的模型中对 TextField 做同样的事情。

我感兴趣的是这里的第 37 行;我想在 Django 中运输它。

class Post(models.Model):
    title = models.CharField(max_length=70, help_text="Write post title here. The title must be have max 70 characters", verbose_name="Titolo", unique=True)
    slug = models.SlugField(verbose_name="Slug", unique="True", help_text="Slug is a field in autocomplete mode, but if you want you can modify its contents")
    tagline = models.TextField(max_length=200, help_text="Write a post short description here. The description must be have max 200 characters", verbose_name="Breve descrizione dell'articolo")
    contents = models.TextField(help_text="Write your post here", verbose_name="Contenuti")
    time_of_reading = models.IntegerField(count(contents) / 250)
    highlighted = models.BooleanField(default=False, help_text="If you want that the post went be highlighted, click on this area", verbose_name="Articolo in evidenza")

    def __str__(self):
        return self.title

有了这个我有这个错误:

  File "/var/www/html/dev/miosito/django/v2.1/versions/aproject/muletto/models.py", line 4, in <module>
    class Post(models.Model):
  File "/var/www/html/dev/miosito/django/v2.1/versions/aproject/muletto/models.py", line 10, in Post
    time_of_reading = models.IntegerField(count(contents) / 250)

NameError: name 'count' is not defined

我是开发世界的新手

标签: django-modelspython-3.6countingdjango-2.1

解决方案


一种可能性是覆盖方法 save()。在 save() 中做这样的事情:

    self.thistime_of_reading = self.count(self.contents)

这里: 姜戈。覆盖模型的保存


推荐阅读