【问题标题】:data not inserted in flask sqlalchemy数据未插入烧瓶 sqlalchemy
【发布时间】:2013-11-22 01:28:11
【问题描述】:

这是我的烧瓶模型(我正在使用 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作为数据库。

谁能告诉我,问题是什么以及如何解决?

【问题讨论】:

    标签: python mysql flask-sqlalchemy


    【解决方案1】:

    我怀疑

    feed['entries'][i].published_parsed
    

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

    【讨论】:

    • 在 print self.published_date 中,这是打印日期(作为日期对象)。但是当我尝试存储时,我无法存储它。
    • 你确定吗?请检查打印类型(post['published_date'])
    • 您能否提供一些日志:例如。 1. 打印帖子['published_date'], 2. 打印类型(post['published_date']) 。 3.也许将创建Feed拉到一个变量并稍后打印Feed.published_date
    猜你喜欢
    • 2021-07-19
    • 2020-05-03
    • 2012-12-29
    • 2021-04-10
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    相关资源
    最近更新 更多