2017-03-08 170 views
-2

我想在mysql數據庫表上執行custome sql查詢來存儲記錄 。通過rawsql執行插入查詢的方式是什麼?通過Rawsql插入到mysql數據庫

我使用下面的模型

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('') passwoed MySQL提供:

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

,但我沒有得到如何執行這有什麼辦法嗎?

+0

不知道'raw'呢'INSERT's,但你應該多看這裏 - https://docs.djangoproject.com/en/1.10/topics/ db/sql /#執行自定義sql直接 –

+0

也請閱讀StackOverflow文檔如何提出良好的問題。你可以在這裏找到它http://stackoverflow.com/help/how-to-ask這裏的人通常都很有幫助,但要求他們免費爲你工作是有點粗魯的。爲了避免這種情況,通過提供一些代碼來說明你已經嘗試解決你的問題,並且描述你被卡住的地方,以此來避免這種情況。這將使人們以更少的努力幫助你,從而增加你得到真正好答案的機會。 – sobek

回答

2

這裏一個簡單的例子:

from django.db import connections 

cursor = connections['default'].cursor() 
cursor.execute("INSERT INTO TABLE(field1,field2) VALUES(%s , %s)", [value1, value2])