0

次のクラスがあります。(ピーウィーとファルコンを使っています)

models/Auth.py:

from peewee import UUIDField, TextField

from models import BaseModel


class Auth(BaseModel):
    app_name = TextField()
    access_token = UUIDField()

models/Tweet.py:

from peewee import TextField

from models import BaseModel


class Tweet(BaseModel):
    username = TextField()
    message = TextField()

models/__init__.py:

from config import Database
from models.Auth import Auth
from models.BaseModel import BaseModel
from models.Tweet import Tweet

Database.connect()
Database.create_tables([Auth, Tweet], True)

"""
from config import Database
from models.BaseModel import BaseModel
from models.Tweet import Tweet
Database.connect()
Database.create_tables([Tweet], True)
"""

models/BaseModel.py:

from datetime import datetime

from peewee import DateTimeField
from playhouse.signals import pre_save, Model

from config import Database


class BaseModel(Model):
    created_at = DateTimeField(default=datetime.now)
    updated_at = DateTimeField()

    class Meta:
        database = Database


@pre_save(sender=BaseModel)
def pre_save(sender, instance, created):
    if created:
        instance.updated_at = datetime.now()

コメントしたコード部分は__init__.py実行時にエラーなしで実行されますgunicorn --reload hyperionが、コメントを外した部分は次のエラーを引き起こします。

File "/Users/savaskoc/IdeaProjects/Hyperion/models/__init__.py", line 2, in <module>
    from models.Auth import Auth
File "/Users/savaskoc/IdeaProjects/Hyperion/models/Auth.py", line 6, in <module>
    class Auth(BaseModel):
TypeError: module.__init__() takes at most 2 arguments (3 given)

エラーの場所がわかりませんでした。クラスは同じように見えますAuth...Tweet

4

0 に答える 0