已安装django-timescaledb,启动Django服务器时报ModuleNotFoundError错误
问题描述
已下载并安装django-timescaledb,但启动Django服务器时终端报错:
ModuleNotFoundError: No module named 'timescale.fields'
相关代码如下:
from django.db import models from django.contrib.auth import get_user_model import uuid from datetime import datetime from django.utils import timezone from django.db.models import F from django.utils.timezone import now from timescale.fields import TimescaleDateTimeField User = get_user_model() class TimescaleModel(models.Model): """ A helper class for using Timescale within Django, has the TimescaleManager and TimescaleDateTimeField already present. This is an abstract class it should be inheritted by another class for use. """ time = TimescaleDateTimeField(interval="1 day") class Meta: abstract = True
终端错误信息显示上述模块找不到。
解决方法
确认包是否正确安装
检查django-timescaledb是否安装在当前项目使用的虚拟环境中,执行命令:pip list | grep django-timescaledb若无输出,重新安装:
pip install django-timescaledb修正导入路径
最新版django-timescaledb的TimescaleDateTimeField导入路径已变更,替换代码中的导入语句为:from django_timescaledb.fields import TimescaleDateTimeField检查INSTALLED_APPS配置
在项目settings.py的INSTALLED_APPS中添加django_timescaledb:INSTALLED_APPS = [ # 其他已配置应用 'django_timescaledb', ]确认版本兼容性
检查django-timescaledb与当前Django版本是否兼容,若不匹配,安装对应兼容版本:pip install django-timescaledb==<兼容版本号>
内容的提问来源于stack exchange,提问作者carl
相关产品推荐
相关产品推荐

