SqlAlchemy将不接受DateTime列中的datetime.datetime.now值 [英] SqlAlchemy won't accept datetime.datetime.now value in a DateTime column

查看:78
本文介绍了SqlAlchemy将不接受DateTime列中的datetime.datetime.now值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我首先要提到我正在通过Flask-SqlAlchemy使用SqlAlchemy.我不认为这会影响问题,但如果确实如此,请告诉我.

I should first mention that I'm using SqlAlchemy through Flask-SqlAlchemy. I don't believe this affects the issue but if it does, please let me know.

这是在SqlAlchemy中运行create_all函数时收到的错误消息的相关部分

Here is the relevant part of the error message I'm getting when running the create_all function in SqlAlchemy

InterfaceError: (InterfaceError) Error binding parameter 4 - probably unsupported type. u'INSERT INTO podcasts (feed_url, title, url, last_updated, feed_data) VALUES (?, ?, ?, ?, ?)' (u'http://example.com/feed', u'Podcast Show Title', u'http://example.com', '2012-04-17 20:28:49.117000'

这是我的模特:

class Podcast(db.Model):
    import datetime
    __tablename__ = 'podcasts'
    id = db.Column(db.Integer, primary_key=True)
    feed_url = db.Column(db.String(150), unique=True)
    title = db.Column(db.String(200))
    url = db.Column(db.String(150))
    last_updated = db.Column(db.DateTime, default=datetime.datetime.now)
    feed_data = db.Column(db.Text)

    def __init__(self, feed_url):
        import feedparser

        self.feed_url = feed_url
        self.feed_data = feedparser.parse(self.feed_url)
        self.title = self.feed_data['feed']['title']
        self.url = self.feed_data['feed']['link']

有人可以告诉我如何使它工作吗?我也尝试了以下模型,但这也不起作用.同样的错误.

Can someone tell me how I can get this to work? I've also tried the following model but that also doesn't work. Same error.

class Podcast(db.Model):
    import datetime
    __tablename__ = 'podcasts'
    id = db.Column(db.Integer, primary_key=True)
    feed_url = db.Column(db.String(150), unique=True)
    title = db.Column(db.String(200))
    url = db.Column(db.String(150))
    last_updated = db.Column(db.DateTime)
    feed_data = db.Column(db.Text)

    def __init__(self, feed_url):
        import feedparser

        self.feed_url = feed_url
        self.feed_data = feedparser.parse(self.feed_url)
        self.last_updated = datetime.datetime.now()
        self.title = self.feed_data['feed']['title']
        self.url = self.feed_data['feed']['link']

推荐答案

尝试使用datetime.datetime.utcnow().这对我有用.

Try to use datetime.datetime.utcnow(). This works for me.

这篇关于SqlAlchemy将不接受DateTime列中的datetime.datetime.now值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆