Вставить в базу данных 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])