08、自定义Manager

原创
2015/09/25 16:14
阅读数 45

1、写自定义的manager

# 自定义Managert
class ArticleManager(models.Manager):
    """自定义Manager"""
    def distinct_date(self):
        """Manager中自定义的函数"""
        distinct_date_list = []
        date_list = self.values("date_publish")
        print date_list
        for date in  date_list:
            date =date["date_publish"].strftime("%Y-%m文章归档")
            if date not in distinct_date_list:
                distinct_date_list.append(date)
        return distinct_date_list

2、关联在需要使用的models中

class Article(models.Model):
    """文章"""
    title = models.CharField(max_length=50,verbose_name= '文章标题')
    objects = ArticleManager()

3、使用自定义的Managert

Article.objects.distinct_date()

备注:关连在需要用到的models里面去时一定要使用变量objects,这样就可以和原生的融合并且不影响原来Manager函数譬如all count 等功能的使用。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部