Python3导入类型错误

Python3导入类型错误,python,python-3.x,flask,flask-sqlalchemy,Python,Python 3.x,Flask,Flask Sqlalchemy,我有一个奇怪的应用程序启动错误,我想知道是否有人知道如何调试/解决它 我正在运行一个使用python 3的Flask应用程序。我首先运行:python manage.py runserver并生成下面的堆栈跟踪: Traceback (most recent call last): File "/projectbase/manage.py", line 19, in <module> create_tables() File "/projectbase/myproje

我有一个奇怪的应用程序启动错误,我想知道是否有人知道如何调试/解决它

我正在运行一个使用python 3的Flask应用程序。我首先运行:
python manage.py runserver
并生成下面的堆栈跟踪:

Traceback (most recent call last):
  File "/projectbase/manage.py", line 19, in <module>
    create_tables()
  File "/projectbase/myproject/__init__.py", line 15, in create_tables
    from myproject.models.util import Weekday, weekday_type
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 742, in __exit__
  File "<frozen importlib._bootstrap>", line 742, in <genexpr>
TypeError: an integer is required (got type NoneType)
此外,
Weekday
Weekday\u类型
相关代码如下所示:

from myproject.app import app
from myproject.app import db

def create_tables():
    from myproject.models.util import Weekday, weekday_type
    from myproject.models.activity import Activity, activities_tags, Occurrence, Tag

    db.create_all()
from myproject.app import db
from myproject.models.enum import DeclEnum

class Weekday(DeclEnum):
    Sunday    = 'Sunday', {'offset': 0}
    Monday    = 'Monday', {'offset': 1}
    Tuesday   = 'Tuesday', {'offset': 2}
    Wednesday = 'Wednesday', {'offset': 3}
    Thursday  = 'Thursday', {'offset': 4}
    Friday    = 'Friday', {'offset': 5}
    Saturday  = 'Saturday', {'offset': 6}

weekday_type = Weekday.db_type(metadata=db.metadata)
weekday_type.register_with_psycopg(db.engine)
我使用的
DeclEnum
类型基本上就是从这里复制过来的

我对代码所做的唯一调整是使
DeclEnum
更灵活一点,这样它就可以使用一个值字典,而不仅仅是
value
description
。除此之外,我什么也没改变

你知道这是怎么回事吗?由于调试它可以解决问题,我不知道如何才能找到问题的根源


提前感谢。

错误有误导性

看看我在原始问题中链接到的


方法
register\u with_psycopg()
仅在数据库中首次创建枚举类型时有效。我是在创建类型之前调用该方法的。通过在应用程序启动期间更改事物的顺序,错误消失了。

该错误具有误导性

看看我在原始问题中链接到的

方法
register\u with_psycopg()
仅在数据库中首次创建枚举类型时有效。我是在创建类型之前调用该方法的。通过在应用程序启动期间更改事物的顺序,错误消失了