Вставить в базу данных mysql через Rawsql

Я хочу выполнить обычный SQL-запрос к таблице базы данных MySQL для хранения записи. Как выполнить запрос вставки через rawsql?

Я использую следующую модель

class Student(models.Model):
    userid = models.CharField(db_column='UserId', primary_key=True, max_length=12)  # Field name made lowercase.
    firstname = models.CharField(db_column='FirstName', max_length=30)  # Field name made lowercase.
    middlename = models.CharField(db_column='MiddleName', max_length=30, blank=True, null=True)  # Field name made lowercase.
    lastname = models.CharField(db_column='LastName', max_length=30)  # Field name made lowercase.
    password = models.CharField(db_column='Password', max_length=50, blank=True, null=True)  # Field name made lowercase.

и пытается вставить значения с помощью необработанного метода, потому что хотите сохранить пассивно через md5('') предоставлено mysql:

st = Student.object.raw("Insert into Student values(%s,%s,%s,%s,md5(%s))",['ST1','Fname','Mname','Lname','Pwd']);

но я не понимаю, как выполнить это. Есть ли способ?

1 ответ

Решение

Вот простой пример:

from django.db import connections

cursor = connections['default'].cursor()
cursor.execute("INSERT INTO TABLE(field1,field2) VALUES( %s , %s )", [value1, value2])
Другие вопросы по тегам