rssのフィードURLのリストをsqlite dbに保存します。私はSQLAlchemyを使用していて、これらを格納する方法が不思議でした。列( 'rss_feed_urls'、リスト)列内のデータ型としてリストを使用する(SQLAlchemy)
または、使用できる配列タイプがありますか?
rssのフィードURLのリストをsqlite dbに保存します。私はSQLAlchemyを使用していて、これらを格納する方法が不思議でした。列( 'rss_feed_urls'、リスト)列内のデータ型としてリストを使用する(SQLAlchemy)
または、使用できる配列タイプがありますか?
本当に必要がある場合は、PickleTypeを使用できます。しかし、おそらくあなたが望むのは別のテーブルです(リストの行から成ります)。ちょうどあなたのRSSフィードを保持する表を作成します。
class RssFeed(Base):
__tablename__ = 'rssfeeds'
id = Column(Integer, primary_key=True)
url = Column(String)
は、新しいURLを追加します。
feed = RssFeed(url='http://url/for/feed')
session.add(feed)
は、URLのリストを取得します。
:session.query(RssFeed).all()
は、インデックスによって特定のフィードを探します
session.query(RssFeed).get(1)
SQLAlchemyのをお勧めします。。
通常、SQLデータベースの列データ型のリストはありません。
リストを列の値として格納する方法の1つは、リストを文字列に変換することです。これはデータベースのデータ型varchar
にマップされます。
もう1つの方法は、リストをシリアル化されたバイナリ表現(たとえば、pickleライブラリを使用)に変換し、値をblob
のデータベース値として格納することです。
Bleh私はこれが容易ではないことを知っていました。 varchar型は正確に何ですか? SQLAlchemyのドキュメントは詳しく述べていません。 – Chris
[sqlalchemy.types.LargeBinary](http://www.sqlalchemy.org/docs/core/types.html#sqlalchemy.types.LargeBinary)および[sqlalchemy.types.String](http://www.sqlalchemy .org/docs/core/types.html#sqlalchemy.types.String) –
PostgreSQLを使用している場合は、この目的で使用できる配列タイプがあります。 1つの淡い文字列配列は、文字列のリストです。 –