Trước tiên tôi nên đề cập rằng tôi đang sử dụng SqlAlchemy thông qua Flask-SqlAlchemy. Tôi không tin điều này ảnh hưởng đến vấn đề này nhưng nếu có, vui lòng cho tôi biết.SqlAlchemy sẽ không chấp nhận giá trị datetime.datetime.now trong cột DateTime
Dưới đây là phần có liên quan của thông báo lỗi tôi nhận được khi chạy chức năng create_all trong 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'
Đây là mô hình của tôi:
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']
Ai đó có thể cho tôi biết thế nào Tôi có thể làm việc này? Tôi cũng đã thử các mô hình sau đây nhưng điều đó cũng không hoạt động. Lỗi tương tự.
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']
Bạn có chắc chắn rằng 'cái cột last_updated' là vấn đề? Có thể đó là cột 'feed_data' (cột 4 nếu bạn bắt đầu đếm từ số không)? Sau khi tất cả, bạn đang cố gắng để đặt một từ điển (kết quả của 'feedparser.parse (...)' vào một cột của kiểu văn bản – srgerg
cũng điều này đã không có gì để làm với câu hỏi, bạn có thể vui lòng cho tôi biết , bắt đầu từ đâu nếu tôi muốn bố trí ORM đơn giản – user993563
Tôi nghĩ bạn nên sử dụng sqlalchemy.func.now() thay vì datetime.datetime.now() – utapyngo