我创建了一个名为 Database 的类,用于通过 psycopg3 管理与 Postgres 数据库的连接。这使我能够做这样的事情:
db = Database(postgres_connection_data)
class_one_instance.insert(insert_data, db)
class_two_instance.insert(insert_data, db)
db.commit()
插入方法中的异常处理是这样的,如果两个插入都有效,我们只能到达 db.commit(),这正是我想要的。
我正在探索 Django 作为我们堆栈中的一个选项,我想用 models.Model 中的 save() 替换类二的 insert() 的实现。如何通过 save() 使用我的数据库对象?
def insert(self, insert_data, db):
self.save()
首先,我认为你不需要遵循这个逻辑。请记住,Django 具有一组基于 ORM 的功能,可以帮助您简化这一挑战。
通常,您可以在setting.py文件中配置与数据库的连接,代码为:
classe_one_instance = models.Classe_One(insert_data)
classe_one_instance.save()
我不知道我是否很好地理解了算法的意图,但这样做是有用的