Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα,

Επειδή τώρα αρχίζω την python μιας και έμαθα το βασικό syntax αρχίζω και βλέπω διάφορες βιβλιοθήκες. Έτσι βλέπω την sqlalchemy, πατώντας σε αυτό το tutorial: http://www.rmunn.com/sqlalchemy-tutorial/tutorial.html

 

Έκανα το εν λόγο script:

#!/usr/bin/env python
# coding=utf-8
# -*- Mode: python; c-basic-offset: 4 -*-

from sqlalchemy import *

db=create_engine('postgresql://username:[email protected]/hello')
db.echo = False
metadata = MetaData(db)

people=Table('people',metadata)

# Insert Data
stmt=people.insert()
stmt.execute(name="Dimitrios",surname="Desyllas")
stmt.execute({'name':"Dionysis",'surname':"Arsenis"})

#Select Data
stmt=people.select()
results=stmt.execute().fetchone()

for result in results:
    print "Result:"
    print result

Που ουσιαστικά εισάγει 2 εγγραφές σε εναν πίνακα 'people' και διαβάζει ότι έχει ο πίνακας στον εξής πινακα σε posegresql:

Table "public.people"
Column | Type | Modifiers 
---------+-----------------------+-----------------------------------------------------
id | integer | not null default nextval('people_id_seq'::regclass)
name | character varying(60) |
surname | character varying(60) | 

Αλλά ότα το τρέχω βάζει null στις στήλες 'name' και 'surname' έχετε ιδέα τις πταίει;

Δημοσ.

Και να έψαχνες πιο outdated tutorial δύσκολα θα έβρισκες...

 

Υπάρχουν 2 APIs στο sqlalchemy

 

* Tο Core το οποίο είναι πιo low level: http://docs.sqlalchemy.org/en/latest/core/tutorial.html

* το ORM το οποίο είναι πιο high level: http://docs.sqlalchemy.org/en/latest/orm/tutorial.html

 

Εικάζω ότι τελικά θα θες να χρησιμοποιήσεις το ORM, αλλά ρίξε ένα μάτι και στα δύο tutorials.

 

ΥΓ. Το λάθος στον κώδικα που έβαλες είναι ότι δεν ορίζεις τα columns στο Table()

Δημοσ.

Τελικά το βρήκα. Το tutorial το βρήκα και απλα κάνω μικροαλλαγές απο εδώ και εκεί για να παίζω.

 

Απλά ήθελα:

people=Table('people',metadata,autoload=True)

To table ρτο έχω φτιάξει ήδη.

 

Btw ότι πρέπει να κάνεις migration scripts είναι η sqlalchemy.

Δημοσ.

Θα το έχω στα υπόψην. Συνήθησα σε php και η python τεχνολογίες με ψιλοξενιζουν λίγο. Που θα πάει θα την στρώσω.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...