2017-07-08 72 views
0

我需要使用Django和Python中的準備好的語句查詢將表格數據插入到sqlite3數據庫中。我在下面解釋我的代碼。如何使用Django和python中的準備好的語句查詢將數據插入數據庫中

models.py:

class Meeting(models.Model): 
    """In this class the columns for Meeting table has declared""" 
    room_name = models.CharField(max_length=200) 
    from_date = models.DateTimeField(default=datetime.now, blank=True) 
    to_date = models.DateTimeField(default=datetime.now, blank=True) 
    no_seat = models.CharField(max_length=200) 
    projector = models.CharField(max_length=200) 
    video = models.CharField(max_length=200) 
    created_date = models.DateTimeField(default=datetime.now, blank=True) 

在這裏,我已經通過遷移創建的表。我在下面解釋我的views.py

import sqlite3 
def insert(request): 

    """ This function helps to insert all booking data into database """ 
    conn = sqlite3.connect("db.sqlite3") 
    cursor = conn.cursor() 
    if request.method == 'POST': 
     location_name = request.POST.get('lname') 
     rname = request.POST.get('rname') 
     seat = request.POST.get('seat') 
     projector = request.POST.get('projector') 
     video = request.POST.get('video') 
     location_name = location_name[0:255] 
     rname = rname[0:255] 
     seat = seat[0:10] 
     from_date = request.POST.get('from_date') 
     to_date = request.POST.get('from_date') 

在這裏,我需要通過運行預準備的語句查詢保存到數據庫中的所有數據。

+0

這是作業還是什麼?爲什麼你需要使用準備好的語句? –

回答

1

Python的SQLite庫沒有準備好的語句對象,但它們確實允許您使用參數化查詢並提供多組參數。

values_to_insert = [(location_name,rname,........other_fields)] 

cursor.execute(""" 
    INSERT INTO some_table ('location_name', 'rname','..... other_fields') 
    VALUES (?, ?, ?, ?, total fields = total ? marks)""", values_to_insert) 
+0

我這樣做'cursor.execute(「INSERT INTO booking_meeting VALUES(?,?,?,?,?,?,?,?)」,(None,rname,from_date,to_date,seat,projector, video,now,location_name))''但是這裏我得到這個'異常值:\t 本地變量'location_name'在賦值錯誤之前被引用。 – satya

+0

你需要把這個聲明放在if方法中 – Exprator

+0

它現在工作。 – satya

相關問題