Django 属性错误 : 'module' object has no attribute 'SubfieldBase'

标签 django python-2.7 ubuntu django-models

我正在开发一个使用旧版本 django 创建的 django 项目。我的环境是为最新的 django 版本(1.11.4)设置的。
当我尝试 python manage.py runserver ,我明白了:

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'



所以,问题似乎出在 django-timedeltafield 包上。我有该软件包的最新(0.7.10)版本。所以,我不明白为什么不推荐使用的 SubfieldBase 仍然存在问题。

有什么想法可以解决这个问题吗?

最佳答案

django-timedelta-field 包不适用于 Django 1.10+。来自 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).


以下是弃用 SubFieldBase 的解释来自 1.8 release notes .

关于Django 属性错误 : 'module' object has no attribute 'SubfieldBase' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45547215/

相关文章:

ubuntu - Kile 在 ubuntu 下运行很慢,在扩展结构时

python - 如何与 Django SQLite 数据库中的整数字段交互?

mysql - 在 Django 中连接两个包含相同外键的表

python - 干草堆:stats()和stats_results()不起作用

python - 如何创建球从杆上弹起的声音

ubuntu - 主管 - 用户名无效

Linux 上的 python : what are all the possible place where PYTHONPATH can be set?

python - Django / python : How to cast an integer into the equivalent enum string?

google-app-engine - 在 Google 日历中哪里可以找到 eventId?

python - 如何在 Pystache 中使用 '.' 渲染键?