Django之使用extra报错处理
来源:互联网 发布:什么是淘宝第三方活动 编辑:程序博客网 时间:2024/06/05 15:24
extra的作用:略
错误代码:
# 查询按时间分类与该作者相关的文章 date_info = models.Article.objects.filter(user__name=user).extra( select={'fmt_article_time': 'strftime("%%Y-%%m",add_time)'} ).values('fmt_article_time').annotate( count=Count('title'))
错误原因:
跨表查出两个表的字段都是add_time,需要确定下filter的条件!
class User(AbstractUser): """ 用户表 """ name = models.CharField(max_length=64, verbose_name='用户名', ) passwd = models.CharField(max_length=64, verbose_name='密码', ) avatar = models.FileField(verbose_name='用户头像', upload_to='avatar/%Y/%m/%d', default='avatar/default.jpg', null=False) add_time = models.DateTimeField(verbose_name='用户创建时间', auto_now_add=True) def __str__(self): return self.name
class Article(models.Model): """ 文章表 """ title = models.CharField(max_length=100, verbose_name='文章标题') article_brief = models.CharField(verbose_name='文章概述', max_length=1000) add_time = models.DateTimeField(verbose_name='文章添加时间', auto_now_add=True) read_count = models.IntegerField(verbose_name='文章阅读量', default=0) comment_count = models.IntegerField(verbose_name='文章评论量', default=0) go_up_count = models.IntegerField(verbose_name='文章点赞量', default=0) go_down_count = models.IntegerField(verbose_name='文章踩量', default=0) site_article_category = models.ForeignKey('SiteArticleCategory', verbose_name='所属文章小分类', null=True) category = models.ManyToManyField('Category', verbose_name='文章分类') user = models.ForeignKey('User', verbose_name='文章作者') tags = models.ManyToManyField('Tag', through='Article2Tag', through_fields=('article', 'tag')) def __str__(self): return self.title
阅读全文
0 0
- Django之使用extra报错处理
- django---south报错处理办法
- 使用mysql_real_escape_string报错处理
- Django 中的 csrf_token 与单元测试报错处理
- Python2之字符报错处理
- fckeditor使用和报错处理
- php使用GearmanClient 报错处理方式
- SB/XIB使用过程报错处理
- ASPxGridView报错处理
- mencoder 报错处理
- tomcat报错处理
- Unity 报错处理
- @override 报错处理
- javaee报错处理
- RSS报错处理
- SVN报错处理
- hadoop报错处理
- Unity 报错处理
- 失败的项目总结经验
- 并发编程工具之四:Exchanger 使用
- define和 inline的区别
- 大规模问题算法(占坑)
- 51nod 1290 Counting Diff Pairs
- Django之使用extra报错处理
- Dubbo本地调试
- day17 异常、File类、io流
- docker查看全部容器命令
- Oracle查看、添加分区(持续更新)
- python-tensorflow 画风迁移
- JVM性能调优
- The Obsidian Go is a 3D, 360 4K camera with a more palatable price tag
- 在网上查找资料,学习define和inline的区别