在Django 2.2.5中执行Sum Distinct时,'NoneType'对象没有'lower'属性。正在开发Django 2.1.7。
这个错误通常是由于在执行Sum Distinct时,出现了NoneType对象,而NoneType对象没有'lower'属性引起的。这个错误可能是由于数据库中存在空值(NULL)导致的。
解决这个问题的方法是在执行Sum Distinct之前,先排除掉空值。可以使用Django的过滤器exclude()来实现。具体的代码示例如下:
from django.db.models import Sum
result = YourModel.objects.exclude(your_field__isnull=True).aggregate(total=Sum('your_field'))
上述代码中,YourModel是你的模型类,your_field是你要执行Sum Distinct的字段名。exclude()函数用于排除掉空值,__isnull=True表示筛选出字段值为空的记录。aggregate()函数用于执行Sum操作,并将结果存储在total变量中。
关于Django 2.1.7的开发,可以参考Django官方文档中的版本2.1.7的发布说明,其中包含了该版本的改进和修复的bug。你可以在这里找到相关信息:Django 2.1.7发布说明
同时,如果你在使用Django开发过程中遇到其他问题,可以参考腾讯云提供的云服务器CVM和云数据库MySQL等产品,它们提供了稳定可靠的云计算基础设施和数据库服务,可以帮助你构建高性能的Web应用。你可以在腾讯云官网上找到更多关于这些产品的详细信息和使用指南。
领取专属 10元无门槛券
手把手带您无忧上云