coercing to Unicode: need string or buffer, NoneType found

我搭建的博客在添加文章的时候网页报错:TypeError at /admin/blog/article/add/ coercing to Unicode: need string or buffer, NoneType found 然而我在添加分类的时候是正常可操作的。希望能得到帮助和指导。谢谢! 代码如下:

class CategoryManager(models.Manager):
     # 1、读取分类及此分类文章数
    def Category_articlennum_list(self):
         Category_articlennum_list = self.annotate(articlennum=Count('article__category')).order_by('-articlennum')

         return Category_articlennum_list
# 分类
class Category(models.Model):
    name = models.CharField(max_length=30, verbose_name=u'分类名称')
    index = models.IntegerField(default=999,verbose_name=u'分类的排序')
    pid = models.ForeignKey('self', blank=True, null=True, verbose_name=u'父级分类')
    ptype = models.CharField(max_length=30, verbose_name=u'平台类型')
    desc = models.CharField(max_length=200, null=True, blank=True,verbose_name=u'描述')

    objects = CategoryManager()
    class Meta:
        verbose_name = u'分类'
        verbose_name_plural = verbose_name
        ordering = ['index', 'id']

    def __unicode__(self):
        return self.name

class ArticleManager(models.Manager):
    # 1、归档数据
    def distinct_date(self):
        yearmonth = {"date_publish": """date_format(date_publish,'%%Y-%%m')"""}
        distinct_date_list = self.extra(select=yearmonth).values('date_publish').annotate(num=Count('id'))
        # SELECT (date_format(date_publish,'%Y-%m')) AS `date_publish`, COUNT(`blogs_article`.`id`) AS `num` FROM `blogs_article`
        # WHERE `blogs_article`.`user_id` = 1 GROUP BY (date_format(date_publish,'%Y-%m')) ORDER BY NULL
        print distinct_date_list.query
        return distinct_date_list
    # 2、阅读排行,取前6
    def topview_article_list(self):
        topview_article_list = self.order_by("-click_count")[:6]
        return topview_article_list

    # 3、推荐排行,取前6
    def toprecommend_article_list(self):
        toprecommend_article_list = self.filter(is_recommend=1).order_by("date_publish")[:6]
        return toprecommend_article_list

    # 4、根据标签取文章列表
    def tag_article_list(self, stag):
        tag_article_list = self.filter(tag='stag')

        return tag_article_list


# 文章模型
#@python_2_unicode_compatible
class Article(models.Model):
    title = models.CharField(max_length=50,default=u'标题', verbose_name=u'文章标题')
    desc = models.CharField(max_length=250, verbose_name=u'文章描述')
    content = UEditorField(verbose_name=u'文章内容')
    is_recommend = models.BooleanField(default=False, verbose_name=u'是否推荐')
    date_publish = models.DateTimeField(auto_now_add=True, verbose_name=u'发布时间')
    user = models.ForeignKey(BlogUser, verbose_name=u'用户')
    category = models.ForeignKey(Category, blank=True, null=True, verbose_name=u'分类')
    tag = models.ManyToManyField(Tag, verbose_name=u'标签')
    is_selfw = models.BooleanField(default=False, verbose_name=u'是否原创')
    is_top = models.BooleanField(default=False, verbose_name=u'是否置顶')
    is_display = models.BooleanField(default=True, verbose_name=u'是否显示')
    click_count = models.IntegerField(default=0, verbose_name=u'点击次数')
    praise_count = models.IntegerField(default=0, verbose_name=u'赞次数')
    bury_count = models.IntegerField(default=0, verbose_name=u'反对次数')
    reply_count = models.IntegerField(default=0, verbose_name=u'回复次数')
    img = models.ImageField(upload_to='ar/%Y/%m',blank=True, null=True, verbose_name=u'图片路径')

    objects = ArticleManager()

    class Meta:
        verbose_name = u'文章'
        verbose_name_plural = verbose_name
       # ordering = ['-date_publish']

    def __unicode__(self):
        return str(self.title)

评论 0