from django.db import connection
def example_function():
# 使用 Django 的数据库 API 执行原始 SQL 查询
with connection.cursor() as cursor:
# 创建一个示例表
cursor.execute("""
CREATE TABLE IF NOT EXISTS myapp_example (
id serial PRIMARY KEY,
name varchar(100) NOT NULL
)
""")
# 插入一条记录
cursor.execute("INSERT INTO myapp_example (name) VALUES (%s)", ["Django"])
# 查询记录
cursor.execute("SELECT * FROM myapp_example")
rows = cursor.fetchall()
for row in rows:
print(row)
# 更新记录
cursor.execute("UPDATE myapp_example SET name = %s WHERE id = %s", ["Django Framework", 1])
# 删除记录
cursor.execute("DELETE FROM myapp_example WHERE id = %s", [1])
# 提交事务
transaction.commit_unless_managed()
这段代码演示了如何在Django中使用原始的SQL语句来操作PostgreSQL数据库。它首先创建了一个示例表(如果该表不存在),然后插入了一条记录,接着查询了这条记录,并对其进行了更新和删除操作。最后,它确保了在自动管理事务的环境中,如果你使用的是Django的ORM,那么你不需要手动提交事务。