在Django中执行原始查询以创建对象

19 浏览
0 Comments

在Django中执行原始查询以创建对象

我在Django服务器中有一张未定义为模型的表。因此,我需要使用原始查询在数据库中创建对象。

我的数据库

表名:msg_rooms

enter image description here

我想通过使用Django中的原始查询创建对象{ with_user: 5, room_name: 'abc', user_id: 2 }

0
0 Comments

在Django中,执行原始查询(raw query)只适用于与模型相关的查询。然而,我们可以使用如下代码来执行原始查询并创建对象:

from django.db import connection
with connection.cursor() as cursor:
    connection.execute(
        "INSERT INTO msg_rooms(with_user, room_name, user_id) "
        "VALUES (%s, %s, %s)", [5, 'abc', 2])

但是,如果我们想要获取新创建对象的ID,应该如何做呢?这取决于所使用的数据库。我们可以在stackoverflow上的这个链接中找到更多关于如何在数据库中插入一行并返回主键的详细信息。

0