python - sqlalchemy.exc.ProgrammingError:(psycopg2.ProgrammingError)无法适应类型“电影”
问题描述
有人可以告诉我我做错了什么吗?我从 IMDBPY 中提取数据,一切都匹配,但现在它不会进入我的表格?!
sqlalchemy.exc.ProgrammingError:(psycopg2.ProgrammingError)无法适应类型“电影”[SQL:插入电影(标题,“演员”,情节,用户名)值(%(标题)s,%(演员)s, %(plot)s, %(username)s) RETURNING movie.id] [parameters: {'title': <Movie id:0120338[http] title: Titanic (1997) >, 'cast': <Person id:0000138 [http] 名称:莱昂纳多·迪卡普里奥>,“情节”:“一位 17 岁的贵族爱上了豪华但命运多舛的泰坦尼克号上一位善良但贫穷的艺术家。::j-jessie-weaver”,“用户名':'plzwork'}](此错误的背景:http ://sqlalche.me/e/13/f405 )
电影表
class Movie(db.Model):
"""movies."""
__tablename__ = "movie"
id = db.Column(db.Integer,
primary_key=True)
title = db.Column(db.String(100),
nullable=False)
cast = db.Column(db.Text)
plot = db.Column(db.Text)
username = db.Column(
db.String(20),
db.ForeignKey('users.username'),
nullable=False,
)
将电影添加到数据库
@app.route("/users/<username>/movies/new", methods=["GET", "POST"])
def movie_show(username):
"""Show Movie Search Form and process it."""
if 'username' not in session or username != session['username']:
raise Unauthorized()
form= MovieForm()
if form.validate_on_submit():
title = form.title.data
cast= form.cast.data
plot=form.plot.data
title=moviesDB.search_movie(title)[0]
moviesDB.update(title)
cast=title['cast'][0]
moviesDB.update(title)
plot=title['plot'][0]
moviesDB.update(title)
movie = Movie(
title=(title),
cast=(cast),
plot= (plot),
username=username)
print('title', title)
print('plot', plot)
db.session.add(movie)
db.session.commit()
return redirect(f"/users/{movie.username}")
else:
return render_template("movies/new.html", form=form)
register_adapter(Movie,movie_show)
解决方案
我通过使用另一个 API omdbapi 解决了这个问题,使用 json 创建了一个函数来获取数据,然后我调用了该函数来更新我的 Models.Py。即使没有人回答我的问题,希望这能解决某人的错误:)
推荐阅读
- quickblox - 无法解析模块 nativescript-xmpp-client
- java - JNI 接口中应该抛出通用异常还是专用异常?
- vba - 如何在 Excel 中将数据从一个表分配到另一个表?
- css - 可调整大小的 div - 允许用户抓取 div 的任何边缘以调整大小并同时调整所有 div 的大小
- r - 通过 R 中的值有条件地更改 DT 字体颜色
- angular - Rxjs过滤分割字符串可观察到分隔符
- php - 将数据库数据与 html 表进行比较,并在 Laravel 8 中使用 AJAX 刷新更改
- react-native - Mobx 商店不会触发 react-native 项目的重新渲染
- node.js - 使用 SSR 时无法在 vue3 中使用异步组件
- html - 谷歌字体不显示