Я использовал sqlautocode
для генерации model.py для существующей базы данных MySQL, а вот пример таблицы:
fusion_articles = Table('fusion_articles', metadata,
Column(u'article_id', Integer(), primary_key=True, nullable=False),
Column(u'article_cat', Integer(), primary_key=False, nullable=False),
Column(u'article_subject', String(length=200, convert_unicode=False, assert_unicode=None), primary_key=False, nullable=False),
Column(u'article_snippet', Text(length=None, convert_unicode=False, assert_unicode=None), primary_key=False, nullable=False),
Column(u'article_article', Text(length=None, convert_unicode=False, assert_unicode=None), primary_key=False, nullable=False),
Column(u'article_breaks', CHAR(length=1, convert_unicode=False, assert_unicode=None), primary_key=False, nullable=False),
Column(u'article_name', Integer(), primary_key=False, nullable=False),
Column(u'article_datestamp', Integer(), primary_key=False, nullable=False),
Column(u'article_reads', Integer(), primary_key=False, nullable=False),
Column(u'article_allow_comments', Boolean(), primary_key=False, nullable=False),
Column(u'article_allow_ratings', Boolean(), primary_key=False, nullable=False),
)
Некоторые примеры, которые я видел, имеют префикс Column
, Integer()
и другие подобные типы данных с schema
, импортированным из sqlalchemy
. Должен ли я импортировать Column
, а остальные по отдельности, например:
>>> from sqlalchemy import Table, Column, Integer, String, MetaData
>>> metadata = MetaData()
Или я всегда должен ставить перед ними префикс?
schema.Table
, meta.metadata