ORM SQLAlchemy:无法组装任何主键

2024-09-24 00:35:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试过实现pythonsqlalchemy对象大容量插入。我还设置了一个表,主键是user_label和{}。在

当我尝试在不调用类对象的主键表设置的情况下实现insert时,
我有一个错误:

   {"error":{"name":"UnexpectedError","code":10000,"message":"(psycopg2.errors.NotNullViolation) null value in column \"id\" violates not-null constraint\nDETAIL:  Failing row contains (null, user02, AKA6, t, 2019-06-04 00:00:00+00, 2019-06-11 00:00:00+00).\n\n[SQL: INSERT INTO user_fav_books (user_label, book_label, is_free_assigned, free_assign_date, free_assign_end_date) VALUES (%(user_label)s, %(book_label)s, %(is_free_assigned)s, %(free_assign_date)s, %(free_assign_end_date)s)]\n[parameters: ({'book_label': 'AKA6', 'user_label': 'user02', 'free_assign_date': datetime.date(2019, 6, 4), 'free_assign_end_date': datetime.date(2019, 6, 11), 'is_free_assigned': True}, {'book_label': 'AKS6', 'user_label': 'user02', 'free_assign_date': datetime.date(2019, 6, 18), 'free_assign_end_date': datetime.date(2019, 6, 25), 'is_free_assigned': True}, {'book_label': 'AK46', 'user_label': 'user02', 'free_assign_date': datetime.date(2019, 7, 2), 'free_assign_end_date

你能告诉我:如何用自定义主键设置类对象吗?在

以下是我的工作守则:

^{pr2}$

如果我在类对象中替换了这些参数

user_label = Column(String , primary_key=True)
    book_label = Column(String , primary_key=True)

它提供:

违反非空id约束。在我的数据库表设计中,我根本没有id。错误消息告诉我我必须插入id,这对于插入新数据是完全没有意义的。在

{"error":{"name":"UnexpectedError","code":10000,"message":"(psycopg2.errors.NotNullViolation) null value in column \"id\" violates not-null constraint\nDETAIL:  Failing row contains (null, user02, AKA6, t, 2019-06-04 00:00:00+00, 2019-06-11 00:00:00+00).\n\n[SQL: INSERT INTO user_fav_books (user_label, book_label, is_free_assigned, free_assign_date, free_assign_end_date) VALUES (%(user_label)s, %(book

以下是我的数据库表设计:

enter image description hereenter image description here


Tags: 对象idtruefreedatetimedateisnull