2013-11-10 91 views
0

这是我的烧瓶模型(我正在使用Flask-Sqlalchemy)。未将数据插入烧瓶中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作为数据库。

有人可以告诉我,什么是问题,以及如何解决它?

回答

0

我怀疑

feed['entries'][i].published_parsed 

是一个日期,但作为一个字符串。在创建Feed并传递帖子['published_date']时,它应该是一个日期时间对象,因此您应该传递strptime(post ['published_date'],“your_format”)。

+0

在print self.published_date中,这是打印日期(作为日期对象)。但是当我尝试存储时,我无法存储它。 –

+0

你确定吗?请检查打印类型(发布['published_date']) –

+0

是的,我相信.. –