在django原始查询中使用日期间隔时出错
我总是遇到这样的错误类型错误:在字符串格式化过程中并非所有参数都被转换 这是我的问题在django原始查询中使用日期间隔时出错,django,date,between,Django,Date,Between,我总是遇到这样的错误类型错误:在字符串格式化过程中并非所有参数都被转换 这是我的问题 State.objects.raw('...review_create_date between %s and %s group by error_type',[fromdate,todate]) 此处fromdate=2011-05-21和todate='2011-05-27' 上述查询在mysql提示符下执行,但无法在python shell中运行 请找个人来帮我 这是回溯 Traceback (mos
State.objects.raw('...review_create_date between %s and %s group by error_type',[fromdate,todate])
此处fromdate=2011-05-21和todate='2011-05-27'
上述查询在mysql提示符下执行,但无法在python shell中运行
请找个人来帮我
这是回溯
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/django/db/models/query.py", line 1412, in __iter__
query = iter(self.query)
File "/usr/local/lib/python2.6/dist-packages/django/db/models/sql/query.py", line 73, in __iter__
self._execute_query()
File "/usr/local/lib/python2.6/dist-packages/django/db/models/sql/query.py", line 87, in _execute_query
self.cursor.execute(self.sql, self.params)
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/util.py", line 18, in execute
sql = self.db.ops.last_executed_query(self.cursor, sql, params)
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/__init__.py", line 216, in last_executed_query
return smart_unicode(sql) % u_params
TypeError: not all arguments converted during string formatting
尝试使用?而不是视图中的%s。django原始sql查询
我也遇到了这个问题,所以我使用
总体安排我觉得它对我有用
models.py
views.py
有人能帮忙吗?我尝试使用%%s和%%s%%,但得到了相同的错误尝试,…%s和%s按错误类型“%fromdate”分组,todate@JamesO:啊,不,绝对不是。@Vikram:我们需要看更多细节。实际的代码,加上实际的回溯。您是否尝试过将字符串格式化为…对象。原始的字符串“%fromdate,todate”,以防django出现内部问题?我想你也可以把完整的问题贴出来吗?用于生成随机结果
class VehicleDamage(models.Model):
requestdate = models.DateTimeField("requestdate")
vendor_name = models.CharField("vendor_name", max_length=50)
class Meta:
managed=False
def location_damageReports(request):
#static date for testing
date_from = '2019-11-01'
date_to = '2019-21-01'
vehicle_damage_reports = VehicleDamage.objects.raw("SELECT * FROM VendorReport_vehicledamage WHERE requestdate BETWEEN '{0}' AND '{1}'".format(date_from, date_to))
damage_report = DashboardDamageReportSerializer(vehicle_damage_reports, many=True)
data={"data": damage_report.data}
return HttpResponse(json.dumps(data), content_type="application/json")