/ / SQL Alchemyは、既存の主キー(python、postgresql、orm、sqlalchemy)を使用して新しいオブジェクトを作成します

SQL Alchemyは、既存の主キー(python、postgresql、orm、sqlalchemy)を持つ新しいオブジェクトを作成します

私はsqlalchemyで新しいオブジェクトを作成しようとしていますが、そのIDはすでに存在しているため完全性エラーが発生しています。以下は私のモデルです。

class RFBOpportunityDetail(Base):
__tablename__ = "rfb_opportunity_detail"

id = Column(Integer, primary_key=True)
name = Column(String)
code = Column(String, unique=True)

私はpostgreSQLデータベースを使用しており、そのテーブルにはすでにエントリがあります。以下は新しいオブジェクトを作成するためのコードです。

models.RFBOpportunityDetail(name=name, code=code)

SQLalchemyまたはPostgreSQLで新しいオブジェクトを作成する方法について知っておくべきことがありますか?

エラー

sqlalchemy.exc.IntegrityError: (psycopg2.IntegrityError) duplicate key value violates unique constraint "fbo_all_opportunity_detail_pkey"
DETAIL:  Key (id)=(221418) already exists

回答:

回答№1は1

私はSQLを介してデータをインポートしたので、postgresにいくつかの問題があったように見えます。私はこの問題を解決するために以下のコマンドを使用した

SELECT setval("rfb_opportunity_detail_id_seq", MAX(id)) FROM rfb_opportunity_detail;