2017-07-08 36 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

相关问题