当前位置: 首页 > 知识库问答 >
问题:

sqlalchemy.exc.ProgrammingError:(Psycopg2.ProgrammingError)无法适应类型“movie”

劳亦
2023-03-14

有人能告诉我我做错了什么吗??我从IMDBPY中提取数据,所有的数据都匹配,但现在它不会在我的表中?!

sqlalchemy.exc.programmingerror:(psycopg2.programmingerror)无法改编类型'movie'[sql:插入到movie(title,“cast”,plot,username)值(%(title)s,%(cast)s,%(plot)s,%(username)s)返回movie.id][参数:{'title':<电影ID:0120338[http]标题:泰坦尼克号(1997)>,'cast': ,'plot':'一Aver','username':'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)

共有1个答案

闻人宜
2023-03-14

我通过使用另一个API omdbapi解决了这个问题,使用json创建了一个函数来获取数据,然后调用该函数来更新models.py。即使没有人回答我的问题,希望这能解决某人的bug:)

 类似资料:
  • 问题内容: 作为tut的一部分,我试图连接到postgres服务器,其结构如屏幕截图所示。我添加了一个db“烧瓶”,您可以看到。 基于该tut,我的主文件(’routes.py’)中包含以下代码: models.py: 运行时,调试器给出: 我究竟做错了什么? 问题答案: 从本质上讲,您将需要将其拆分为几个文件,以防止导入问题并使事情更加整洁。我已经完成了以下工作。注意,我已经使用了SQLite,

  • 我是新的Spring集成和工作在Spring集成超文本传输协议模块为我的项目要求。我从出站网关作为超文本传输协议客户端发送请求。我试图向服务器发起一个请求,服务器应该用我的设置值返回消息负载。我正在将对象转换为JSON,用于发送到服务器我正在从客户端(HttpClientDemo)向服务器端的入站网关发送请求。为此,我将我的对象转换成JSON,然后将JSON字符串转换为客户端的对象,在那里执行一些

  • 我有以下几点建议: 当我对它执行cucumber测试时,我得到以下异常: 我有一些其他的测试和其他具有相同注释的POJO,它们工作起来没有任何问题。我真的一点也不知道出了什么问题。 感谢任何建议!

  • 当通过Rest Api发布请求时,我抛出 内容类型:应用程序/json 当我尝试编写代码时,我使用以下代码 org.springframework.web.client.RestClientException:无法提取响应:没有找到合适的HttpMessageConverter响应类型[... FileUpload响应DTO]和内容类型[text/html]给出一个错误。如何转换?

  • 我试图让一个Spring CloudNetflixFaignes客户端通过HTTP获取一点JSON并将其转换为对象。我一直得到这个错误,而不是: 组织。springframework。网状物客户RestClientException:无法提取响应:未找到响应类型[class io.urig.checkout.Book]和内容类型[application/json;charset=UTF-8]的合适

  • 最近一直在玩C的类型演绎。在这样做的时候,我遇到了一些奇怪的事情。当我运行这段代码时: 它打印出这个: 因此,很明显存在缓冲区溢出,因此为 。但我不明白的是,为什么auto没有适应像的东西,为什么它(4字节)?有没有办法解决这个问题?