Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
http://www.darioagliottone.it/query-django-parte-1/
Query, Django
Dopo aver creato i modelli di dati , Django fornisce automaticamente un set di API per l astrazione del database che consente di creare, recuperare, aggiornare e cancellare oggetti. Ora vedremo come utilizzare queste API. In questa guida (e nella documentazione), si far riferimento ai seguenti modelli, che comprendono una applicazione Weblog: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 class
Blog(models.Model):
name
=
models.CharField(max_length=100)
tagline
=
models.TextField()
def
__unicode__(self):
return
self.name
class
Author(models.Model):
name
=
models.CharField(max_length=50)
email
=
models.EmailField()
def
__unicode__(self):
return
self.name
class
Entry(models.Model):
blog
=
models.ForeignKey(Blog)
headline
=
models.CharField(max_length=255)
body_text
=
models.TextField()
pub_date
=
models.DateTimeField()
mod_date
=
models.DateTimeField()
authors
=
models.ManyToManyField(Author)
n_comments
=
models.IntegerField()
n_pingbacks
=
models.IntegerField()
rating
=
models.IntegerField()
def
__unicode__(self):
return
self.headline
Creazione di oggetti
Per rappresentare i dati delle tabelle in oggetti Python, Django utilizza un sistema intuitivo: La classe del modello rappresenta una tabella sul database, e unistanza di questa classe rappresenta uno specifico record della tabella. Per creare un oggetto, istanziatelo usando gli argomenti del modello e poi chiamate la funzione save() per salvarlo nel db. possibile importare la classe del modello idipendentemente da dove si trovi Assumiamo che la classe del modello sia nel file mysite / blog / models.py , ecco un esempio: 1 2 3 >>>
from
blog.models
import
Blog >>>
b
=
Blog(name='Beatles
Blog',
tagline='All
the
latest
Beatles
news.') >>>
b.save()
Questo codice esegue una INSERT SQL. Django non esegue la query fino a quando non si chiama il metodo save() Il metodo save() non restituisce alcun valore.
save() ha un certo numero di opzioni avanzate non descritte qui. Vedere la documentazione per save() per maggiori dettagli. Per creare e salvare un oggetto in un unico passaggio, utilizzate il metodo create().
Questo esempio esegue un UPDATE. Django esegue la query di update fino a quando non si chiama il metodo save() .
1 di 1
18/05/12 13.53