Я подозреваю, что что-то не так с моим файлом 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
Проблемы GitHub, которые я видел в связи с этой ошибкой, похоже, относятся к добавлению метода iter в класс модели, которого, как мне кажется, у меня здесь нет, поэтому я застрял. Любые указания приветствуются.