gpt4 book ai didi

Django:计算数据库中今天日期和日期之间的差异时出现问题

转载 作者:行者123 更新时间:2023-12-03 21:43:56 24 4
gpt4 key购买 nike

我有一个带有“trandate”属性的对象名称设备。

我想得到今天日期和数据库日期之间的差异。

然后计算设备的inactive_days大于31的设备数量。

这是我的代码。

todays_date = datetime.now()
trandate = request.GET.get('devc_trandate')
inactive_days = todays_date - datetime(trandate)
inactive_devices = Cust.objects.values('name').annotate(inact_devc_count = Count('devc',filter=Q(inactive_days__gte=31)))

但我得到了一个错误。
an integer is required (got type NoneType)

追溯:
File "C:\Python\Python36\lib\site-packages\django\core\handlers\exception.py" in inner
34. response = get_response(request)

File "C:\Python\Python36\lib\site-packages\django\core\handlers\base.py" in _get_response
126. response = self.process_exception_by_middleware(e, request)

File "C:\Python\Python36\lib\site-packages\django\core\handlers\base.py" in _get_response
124. response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "C:\Users\customers\views.py" in DevSummary_more
178. inactive_days = todays_date - datetime(trandate)

Exception Type: TypeError at /summary/more/
Exception Value: an integer is required (got type NoneType)

最佳答案

错误显示 'devc_trandate'是无。

还有另一种方法可以做到这一点:

todays_date = datetime.now()
inactive_date = todays_date - timedelta(days=31)
inactive_devices = Cust.objects.values('name').annotate(inact_devc_count = Count('devc',filter=Q(devc__trandate__lt=inactive_date)))

由于要获取设备inactive_days大于31的设备数量,可以 today - 31要获取日期,则可以通过检查哪个 trandate 小于非事件日期来获取非事件设备。

关于Django:计算数据库中今天日期和日期之间的差异时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53273708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com