2017-07-08 1 views
0

Ich muss Formulardaten in sqlite3 db mit vorbereiteten Anweisung Abfrage in Django und Python einfügen. Ich erkläre meinen Code unten.Wie Sie Daten in die Datenbank mit vorbereiteten Anweisung Abfrage in Django und Python einfügen

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) 

Hier habe ich bereits erstellt die Tabelle nach der Migration. Ich erkläre meine views.py unten.

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') 

Hier muss ich alle Daten in die Datenbank, indem Sie vorbereitete Anweisung Abfrage speichern sollte.

+0

Ist dies für eine Aufgabe oder etwas? Warum müssen Sie vorbereitete Aussagen verwenden? –

Antwort

1

Die SQLite-Bibliotheken von Python verfügen nicht über vorbereitete Anweisungsobjekte, ermöglichen jedoch die Verwendung parametrisierter Abfragen und die Bereitstellung mehrerer Parameter.

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

Ich mache so 'cursor.execute (" INSERT INTO booking_meeting VALUES (?,?,?,?,?,?,?,?,?) ", (Keine, rname, from_date, to_date, seat, projektor, video, now, location_name)) 'aber hier bekomme ich diesen 'Exception Value: \t lokale Variable' location_name 'referred before assignment' error. – satya

+0

Sie müssen diese Aussage innerhalb der if-Methode – Exprator

+0

setzen Es funktioniert jetzt. – satya

Verwandte Themen