【发布时间】:2016-02-09 19:08:55
【问题描述】:
最终,我想让测试通过 Django 1.9。 django-celery 当前适用于 Django
我在一个测试项目中克隆了https://github.com/celery/django-celery 并安装了需求。对于 Django 1.7,测试通过了。对于 Django 1.8,我多次遇到相同的错误,但它应该可以工作......
请参阅https://github.com/celery/django-celery/blob/master/tox.ini 包括 Django 1.8:
...
1.8: Django>=1.8.0,<1.9.0
对于 Django 1.7:
pip install Django==1.7
./django-celery/tests/manage.py test djcelery.tests
...
Ran 64 tests in 0.319s
OK
对于 Django 1.8:
pip install Django==1.8
./django-celery/tests/manage.py test djcelery.tests
...
======================================================================
ERROR: test_all_as_schedule (djcelery.tests.test_schedulers.test_DatabaseScheduler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/francois/web/test_project/django-celery/djcelery/tests/test_schedulers.py", line 110, in setUp
m1 = create_model_interval(schedule(timedelta(seconds=10)))
File "/Users/francois/web/test_project/django-celery/djcelery/tests/test_schedulers.py", line 20, in create_model_interval
**kwargs)
File "/Users/francois/web/test_project/django-celery/djcelery/tests/test_schedulers.py", line 40, in create_model
return Model(**dict(entry, **kwargs))
File "/Users/francois/Envs/test_project/lib/python2.7/site-packages/django/db/models/base.py", line 468, in __init__
setattr(self, field.name, rel_obj)
File "/Users/francois/Envs/test_project/lib/python2.7/site-packages/django/db/models/fields/related.py", line 668, in __set__
(value, self.field.rel.to._meta.object_name)
ValueError: Cannot assign "<IntervalSchedule: every 10.0 seconds>": "IntervalSchedule" instance isn't saved in the database.
...
Ran 64 tests in 0.150s
FAILED (errors=15)
我错过了什么?
【问题讨论】:
-
嗨弗朗索瓦,
django-celery项目已被弃用(Django 支持现在直接包含在celery包中)。您想要验证 Django 1.9 支持是否有特定原因? -
是的,我正在使用
django-celery处理一个相当大的老项目。我想利用一些 Django 1.9 的特性。听起来我最好删除它而不是升级它。
标签: testing django-celery django-1.8