简体   繁体   English

数据未插入烧瓶sqlalchemy中

[英]data not inserted in flask sqlalchemy

This is my flask model(I am using Flask-Sqlalchemy). 这是我的烧瓶模型(我正在使用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()

And this is where I insert the data. 这是我插入数据的地方。

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()

All fields are inserted properly except self.published_date. 除self.published_date外,所有字段均已正确插入。 While inserting, the data exists but while retrieving the date field is 0. Here I am using mysql as the database. 插入时,数据存在,但检索日期字段为0。在这里,我使用mysql作为数据库。

Can somebody tell me, what is the problem and how to fix it ? 有人可以告诉我,问题出在哪里,如何解决?

I suspect that 我怀疑

feed['entries'][i].published_parsed

is a date but as a string. 是一个日期,但作为字符串。 While creating a Feed and passing post['published_date'] it should be a datetime object so you should pass strptime(post['published_date'], "your_format"). 创建Feed并传递post ['published_date']时,它应该是datetime对象,因此您应该传递strptime(post ['published_date'],“ your_format”)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM