0

これは私のフラスコ モデルです (私は Flask-Sqlalchemy を使用しています)。

class Feeds(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    feed_link = db.Column(db.String(100))
    url = db.Column(db.String(100))
    title = db.Column(db.Text)
    summary = db.Column(db.Text)
    content = db.Column(db.Text)
    published_date = db.Column(db.DateTime)
    created_at = db.Column(db.DateTime)

    def __init__(self, feed_link, url, title, summary, content, published_date):
        self.feed_link = feed_link
        self.url = url
        self.title = title
        self.summary = summary
        self.content = content
        self.published_date = published_date
        print self.published_date 
        #self.created_at = datetime.utcnow()        
        self.created_at = date.today()

ここにデータを挿入します。

for i in range(0,len(feed['entries'])):
        post = {}
        post['title'] = feed['entries'][i].title,
        post['summary'] = feed['entries'][i].summary,
        post['url'] = feed['entries'][i].link
        post['content'] = ''
        for content in feed['entries'][i]['content']:
            post['content'] = post['content'] + content.value
        post['published_date'] = feed['entries'][i].published_parsed
        db.session.add(Feeds(feed_link=rss_link, url=post['url'], title=post['title'][0], summary=post['summary'][0], 
                content=post['content'], published_date=post['published_date']))
        db.session.commit()

self.published_date を除くすべてのフィールドが適切に挿入されます。挿入中はデータが存在しますが、日付フィールドの取得中は 0 です。ここではデータベースとして mysql を使用しています。

誰かが私に教えてくれますか、問題は何ですか、それを修正する方法はありますか?

4

1 に答える 1

0

私はそれを疑う

feed['entries'][i].published_parsed

は日付ですが、文字列です。Feed を作成して post['published_date'] を渡すときは、datetime オブジェクトである必要があるため、strptime(post['published_date'], "your_format") を渡す必要があります。

于 2013-11-11T14:32:34.407 に答える