问题描述
我已经建立了一个cron作业,以每分钟减少所有对象的IntegerField。
但是它抛出错误:
TypeError: decrement_days_till_study() missing 1 required positional argument: 'Card'
但是我不知道该如何通过。
cron.py
from . models import Card
def decrement_days_till_study(Card):
for card in Card.objects.all():
if card > 1:
card.days_till_study -= 10
card.save()
我的模型与cron.py位于同一文件夹中。
我的设置
INSTALLED_APPS = [
'django_crontab'
]
CRONJOBS = [
('*/1 * * * *','spaced_repitition.cron.decrement_days_till_study')]
我通过使cron打印出可以正常工作的字符串来测试了cron。
关于如何解决此问题的任何想法?
感谢阅读。
解决方法
这里不是django专家,但是您似乎通过定义函数变量覆盖了导入。
尝试从函数参数列表中删除Card
:
from . models import Card
def decrement_days_till_study():
for card in Card.objects.all():
if card > 1:
card.days_till_study -= 10
card.save()