Не могу выяснить ошибку DeclarativeMeta с Alembic и SQLAlchemy в проекте Django.Python

Программы на Python
Anonymous
Не могу выяснить ошибку DeclarativeMeta с Alembic и SQLAlchemy в проекте Django.

Сообщение Anonymous »

Мне могла бы помочь разобраться, как это отладить:
Я подозреваю, что что-то не так с моим файлом models.py, но сообщения об ошибках довольно расплывчаты.
Я использую Alembic и SQLAlchemy вместо Django ORM
(относительно новый для всего вышеперечисленного) и успешно выполнил миграцию в папку версии Alembic. Причина, по которой я использую Alembic SQLAlchemy, заключается в том, что я пытаюсь подключиться к внешнему API, и в другом сообщении мне сказали, что Alembic необходим для управления историями миграции, иначе могут возникнуть проблемы с отслеживанием миграций в Django.
У меня есть собственный класс команд, который вызывает скребок, и я передаю данные в фрейм данных Pandas, а затем пытаюсь записать их в базу данных, определенную в моем файле models.py. Для краткости я просто опубликую свой файл models.py, конец журнала ошибок, а также ссылку на полный репозиторий.

Код: Выделить всё

from datetime import datetime
from sqlalchemy import Column, Integer, DateTime, String, Numeric, BigInteger, UniqueConstraint
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
from django.db import models

class CMC(Base):
__tablename__ = 'apis_cmc'

id = Column(Integer, primary_key=True)
inserted_at = Column(DateTime, default=datetime.utcnow)
name = Column(String)
symbol = Column(String)
price = Column(Numeric)
market_cap = Column(BigInteger)
market_cap_dominance = Column(BigInteger)
fully_diluted_market_cap = Column(BigInteger)
percent_change_1h = Column(Numeric)
percent_change_24h = Column(Numeric)
percent_change_30d = Column(Numeric)
percent_change_60d = Column(Numeric)
percent_change_7d = Column(Numeric)
percent_change_90d = Column(Numeric)
volume_24h = Column(Numeric)
volume_change_24h = Column(Numeric)

UniqueConstraint('symbol', 'inserted_at', name='uix_1')

def __str__(self):
return self.name

Код: Выделить всё

File "/Users/justinbenfit/Desktop/Programming/website/cds_website/venv/lib/python3.8/site-packages/django/contrib/admin/sites.py", line 116, in register
for model in model_or_iterable:
TypeError: 'DeclarativeMeta' object is not iterable

https://github.com/Justinbenfit23/crypt ... ce_website
Проблемы GitHub, которые я видел в связи с этой ошибкой, похоже, относятся к добавлению метода iter в класс модели, которого, как мне кажется, у меня здесь нет, поэтому я застрял. Любые указания приветствуются.

Вернуться в «Python»