Strftime错误Python
我正在调用一个函数来计算驾驶员收入,但我一直遇到以下错误:Strftime错误Python,python,django,strftime,Python,Django,Strftime,我正在调用一个函数来计算驾驶员收入,但我一直遇到以下错误: "line 396, in driver_get_revenue monthly[month.strftime("%m")] = orders.count() * settings.DRIVER_DELIVERY_PRICE AttributeError: 'int' object has no attribute 'strftime'" 其功能是: def driver_get_revenue(request):
"line 396, in driver_get_revenue
monthly[month.strftime("%m")] = orders.count() * settings.DRIVER_DELIVERY_PRICE
AttributeError: 'int' object has no attribute 'strftime'"
其功能是:
def driver_get_revenue(request):
driver = JWTAuthentication().authenticate(request)[0].driver
#Returns the difference between date and time.
from datetime import timedelta
revenue = {}
monthly = {}
yearly = {}
today = timezone.now()
month = today.month
year = today.year
#Created a range to calculate the current weekday.
current_weekdays = [today + timedelta(days = i) for i in range(0 - today.weekday(), 7 - today.weekday())]
for day in current_weekdays:
orders = Order.objects.filter(
driver = driver,
status = Order.DELIVERED,
created_at__year = day.year,
created_at__month = day.month,
created_at__day = day.day
)
revenue[day.strftime("%A")] = orders.count() * settings.DRIVER_DELIVERY_PRICE
for day in range(0, 30):
orders = Order.objects.filter(
driver = driver,
status = Order.DELIVERED,
created_at__month = month,
created_at__day = day
)
(Line 396) monthly[month.strftime("%m")] = orders.count() * settings.DRIVER_DELIVERY_PRICE
for month in range(0, 12):
orders = Order.objects.filter(
driver = driver,
status = Order.DELIVERED,
created_at__year = year,
created_at__month = month
)
yearly[year.strftime("%y")] = orders.count() * settings.DRIVER_DELIVERY_PRICE
return JsonResponse({"revenue": revenue,
"month": monthly,
"yearly": yearly})
我不太确定我错在哪里了。我标记了第396行,以便您看到错误所在。任何帮助都将不胜感激
谢谢。当您执行此操作时:
month=今天。month
,month变为整数。strftime
函数用于datetime对象,而不是整数
因此,month.strftime(“%m”)
不起作用
根据您的要求,可以尝试使用day.strftime(“%m”)
,也可以只使用month
如果您要查找月份名称,可以这样做:
today = timezone.now()
month = today.month
month_name = today.strftime("%B") # e.g. December
...
…并在代码中使用
month\u name
变量。这里根本不需要strftime
<代码>月份已经是整数月份。我正在查找要返回的月份名称。