Reputation: 646
I'm working on an django project that was created using an older version of django. My environment is set up for the latest django version (1.11.4).
when I try python manage.py runserver
, I get this:
Unhandled exception in thread started by Traceback (most recent call last): File
"/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py", line 228, in wrapper
fn(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/runserver.py",
line 117, in inner_run
autoreload.raise_last_exception() File "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py",
line 251, in raise_last_exception
six.reraise(*_exception) File "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py",
line 228, in wrapper
fn(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 27,
in setup
apps.populate(settings.INSTALLED_APPS) File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line
108, in populate
app_config.import_models() File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line
202, in import_models
self.models_module = import_module(models_module_name) File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File
"/home/ahmedn1/Documents/Paymob/wallet_executive_panel-master-c109bd6fe9cd1bf793c11a5c2e97d18a1887c3ba/accounts/models.py", line 8, in
import timedelta File "/usr/local/lib/python2.7/dist-packages/timedelta/__init__.py", line
11, in
from .fields import TimedeltaField File "/usr/local/lib/python2.7/dist-packages/timedelta/fields.py", line 18,
in
class TimedeltaField(six.with_metaclass(models.SubfieldBase, models.Field)): AttributeError: 'module' object has no attribute
'SubfieldBase'
So, it seems the problem is with the django-timedeltafield package. I have the latest (0.7.10) version of that package. So, I don't understand why it still has an issue with the deprecated SubfieldBase.
Any ideas how I might solve this issue?
Upvotes: 2
Views: 7271
Reputation: 36
This issue occurred when the Django version got upgrade due to a package install. You might want to run 'pip install -r requirements.txt' which will install the Django version that is compatible with your exisiting project.
So try , pip install -r requirements.txt
Let me know if it works for you as well.
Upvotes: 0
Reputation: 309019
The django-timedelta-field package does not work with Django 1.10+. From the django-timedelta-field repo:
If you are using Django 1.8 or greater (and you really should be), then you should use the included
DurationField()
instead of this.This field does not work with Django 1.10, and will probably not be updated to fix the issue(s).
Here's the explanation of the deprecation of SubFieldBase
from the 1.8 release notes.
Upvotes: 3