Re: [Python] Help me with PG JSON e Django

2016-12-27 Per discussione Raffaele Salmaso
On Tue, Dec 27, 2016 at 11:03 PM, Andrea D'Amore 
wrote:

> Non
> Blocks.objects.filter(details__block_details__2__attribute='bagno')
> ?
>
Anche, altro modo (senza usare __contains)

-- 
| Raffaele Salmaso
| https://salmaso.org
| https://bitbucket.org/rsalmaso
| https://github.com/rsalmaso
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Help me with PG JSON e Django

2016-12-27 Per discussione Andrea D'Amore
2016-12-27 22:59 GMT+01:00 Raffaele Salmaso :

> Hai provato con il path completo?
> Block.objects.filter(details__block_details__0__contains={'attribute':
> 'bagno'})
> ?

Non

Blocks.objects.filter(details__block_details__2__attribute='bagno')

?


-- 
Andrea
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Help me with PG JSON e Django

2016-12-27 Per discussione Raffaele Salmaso
2016-12-27 22:03 GMT+01:00 Carlos Catucci :

> Secondo il manuale di Django, versione 1.9,

Provato anche con la 1.10?
Versione di postgresql?
Versione di python?
Versione di psycopg2?

Questo un esempio di inserimento
>
> Blocks.objects.create(agency_id=1,agency_code='C0001',rent_
> sale='1',search_offer='2',block_type='appartamento',
> location='pescara',customer_price=10.0,agency_price=8.0,
> active='t',deleted='f',details= {'block_details': [{"details": {"mp":
> "M", "mq": "80:", "qta": "2:"}, "attribute": "camera da letto"},
> {"details": {"mp": "M", "mq": "80:", "qta": "2:"}, "attribute":
> "camera da letto"}, {"details": {"mp": "M", "qta": "1:"}, "attribute":
> "bagno"}, {"details": {"mp": "P", "yn": "Y:"}, "attribute": "posto
> auto"}, {"details": {"mp": "M", "yn": "Y:"}, "attribute":
> "ascensore"}]})
>
> Ma se eseguo una query tipo
>
> Blocks.objects.filter(details__contains={'attribute': 'bagno'})
>
Hai provato con il path completo?
Block.objects.filter(details__block_details__0__contains={'attribute':
'bagno'})
?


-- 
| Raffaele Salmaso
| https://salmaso.org
| https://bitbucket.org/rsalmaso
| https://github.com/rsalmaso
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Help me with PG JSON e Django

2016-12-27 Per discussione Alessandro Dentella
On Tue, Dec 27, 2016 at 10:03:59PM +0100, Carlos Catucci wrote:
> Secondo il manuale di Django, versione 1.9, si possono definire,
> previa importazione dellì'apposito contrib (from
> django.contrib.postgres.fields import JSONField) dei campi json in una
> tabella.
> Ed in effetti la creazione (Blocks.objects.create()) funziona benissimo.
> I dolori vengono al momento di recuperare di dati immagazzinati in
> questa struttura JSON.
> A sentire il manuale sarebeb tutto semplice e pulito
>
> Dog.objects.filter(data__breed='collie')
>
> oppure per casi complessi
>
> Dog.objects.filter(data__contains={'owner': 'Bob'})
>
> Peccato che pur provando e riprovando i dati non vengno recuperati mai.
>
> La struttura del model e' la seguente:
>
> class Blocks(models.Model):
> agency = models.ForeignKey("users.Agencies")
> agency_code = models.CharField(max_length=30)
> rent_sale = models.CharField(max_length=1,choices=RENT_SALE)
> search_offer = models.CharField(max_length=1,choices=SEARCH_OFFER)
> block_type = models.CharField(max_length=100)
> location = models.CharField(max_length=200)
> customer_price = models.FloatField(default=0.0)
> agency_price = models.FloatField(default=0.0)
> details = JSONField()
> active = models.BooleanField(default=True)
> deleted = models.BooleanField(default=False)
>
> Questo un esempio di inserimento
>
> Blocks.objects.create(agency_id=1,agency_code='C0001',rent_sale='1',search_offer='2',block_type='appartamento',location='pescara',customer_price=10.0,agency_price=8.0,
> active='t',deleted='f',details= {'block_details': [{"details": {"mp":
> "M", "mq": "80:", "qta": "2:"}, "attribute": "camera da letto"},
> {"details": {"mp": "M", "mq": "80:", "qta": "2:"}, "attribute":
> "camera da letto"}, {"details": {"mp": "M", "qta": "1:"}, "attribute":
> "bagno"}, {"details": {"mp": "P", "yn": "Y:"}, "attribute": "posto
> auto"}, {"details": {"mp": "M", "yn": "Y:"}, "attribute":
> "ascensore"}]})
>
> Ma se eseguo una query tipo
>
> Blocks.objects.filter(details__contains={'attribute': 'bagno'})
>
> ottengo indietro una lista vuota ( [] )

io confermo che questa sintassi per me funziona. Ho un caso analogo
dove i dati sono:

   {"display_name": "Salvatore Z...", "activate_url":
   "https://trepalchi.it/accounts/.../;,
   "current_site": "trepalchi.it",
   "subject": "Salvatore Z... conferma la tua email per entrare nel
   portale Trepalchi.it", }

In [1]: 
models.Transmission.objects.filter(substitution_data__contains={'display_name': 
'Salvatore Z...'})
Out[1]: ]>

Posso suggerirti di controllare:

* cosa hai veramente nel db
* se da prompt di pg tutto funziona (a me la parte saliente del WHERE
 è:

 WHERE "marketing_transmission"."substitution_data" @>
 '{"display_name": "Salvatore Z..."}'

Ricordo che all'inizio avevo problemi nell'inserimento e mi finivano
dentro nel valore del campo delle graffe controbarrate. Era un
problema di interfaccia (admin), non di ORM a memoria.


sandro
*:-)



--
Sandro Dentella  *:-)
http://trepalchi.itIl portale degli artisti
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Help me with PG JSON e Django

2016-12-27 Per discussione Carlos Catucci
Secondo il manuale di Django, versione 1.9, si possono definire,
previa importazione dellì'apposito contrib (from
django.contrib.postgres.fields import JSONField) dei campi json in una
tabella.
Ed in effetti la creazione (Blocks.objects.create()) funziona benissimo.
I dolori vengono al momento di recuperare di dati immagazzinati in
questa struttura JSON.
A sentire il manuale sarebeb tutto semplice e pulito

Dog.objects.filter(data__breed='collie')

oppure per casi complessi

Dog.objects.filter(data__contains={'owner': 'Bob'})

Peccato che pur provando e riprovando i dati non vengno recuperati mai.

La struttura del model e' la seguente:

class Blocks(models.Model):
agency = models.ForeignKey("users.Agencies")
agency_code = models.CharField(max_length=30)
rent_sale = models.CharField(max_length=1,choices=RENT_SALE)
search_offer = models.CharField(max_length=1,choices=SEARCH_OFFER)
block_type = models.CharField(max_length=100)
location = models.CharField(max_length=200)
customer_price = models.FloatField(default=0.0)
agency_price = models.FloatField(default=0.0)
details = JSONField()
active = models.BooleanField(default=True)
deleted = models.BooleanField(default=False)

Questo un esempio di inserimento

Blocks.objects.create(agency_id=1,agency_code='C0001',rent_sale='1',search_offer='2',block_type='appartamento',location='pescara',customer_price=10.0,agency_price=8.0,
active='t',deleted='f',details= {'block_details': [{"details": {"mp":
"M", "mq": "80:", "qta": "2:"}, "attribute": "camera da letto"},
{"details": {"mp": "M", "mq": "80:", "qta": "2:"}, "attribute":
"camera da letto"}, {"details": {"mp": "M", "qta": "1:"}, "attribute":
"bagno"}, {"details": {"mp": "P", "yn": "Y:"}, "attribute": "posto
auto"}, {"details": {"mp": "M", "yn": "Y:"}, "attribute":
"ascensore"}]})

Ma se eseguo una query tipo

Blocks.objects.filter(details__contains={'attribute': 'bagno'})

ottengo indietro una lista vuota ( [] )

Qualche hint su dove cercare? In rete trovo sempre e solo esempi
identici a quello del manuale.

Carlos
-- 
EZLN ... Para Todos Todo ... Nada para nosotros
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [Django][SQLAlchemy] Django o SQLAlchemy?

2016-12-27 Per discussione Luca
No, non è dentro un'applicazione Django (scusate la poca chiarezza). Può
avere accesso a tutti i moduli dell'applicazione Django.

Ok, vado di SQLAlchemy
Grazie :).


Il giorno mar 27 dic 2016 alle ore 16:38 Christian Barra <
barrac...@gmail.com> ha scritto:

>
> On 27 Dec 2016, at 16:20, Luca  wrote:
>
> allora
>
> io ho un'applicazionciana in django che tra le sue applicazioncine ne ha
> una che mi fa delle ricerche in databases sqlite.
> questi databases sqlite vengono creati tramite un'altra applicazioncina in
> python 2.5 (mi pare) che comunque utilizza ancora elixir.
>
> L'idea è quella di riscrivere il programma che mi compila i database. Ma
> in questo momento sono combattuto tra l'utilizzare SQLAlchemy o l'ORM di
> Django.
> Consierando il fatto che io posso mettere in os.sys.path il percorso
> dell'applicazione fatta in Django, e quindi recuperare i modelli. E che
> l'archiviazione non viene eseguita così spesso e comunque in coda ad altre
> operazioni che notoriamente impiegano tempo.
> Avrei anche il vantaggio di poter modificare soltanto i modelli di Django
> senza dover riflettere le modifiche.
>
>
> Non e’ chiaro se sei dentro una applicazione Django oppure no.
>
> Se la risposta e’ si usa l’ORM di Django, altrimenti senza dubbi su
> SqlAlchemy.
>
> --
> With Gravitational Cheers,
>
> Christian Barra
> EuroPython Society board member
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [Django][SQLAlchemy] Django o SQLAlchemy?

2016-12-27 Per discussione Christian Barra

> On 27 Dec 2016, at 16:20, Luca  wrote:
> 
> allora 
> 
> io ho un'applicazionciana in django che tra le sue applicazioncine ne ha una 
> che mi fa delle ricerche in databases sqlite.
> questi databases sqlite vengono creati tramite un'altra applicazioncina in 
> python 2.5 (mi pare) che comunque utilizza ancora elixir.
> 
> L'idea è quella di riscrivere il programma che mi compila i database. Ma in 
> questo momento sono combattuto tra l'utilizzare SQLAlchemy o l'ORM di Django.
> Consierando il fatto che io posso mettere in os.sys.path il percorso 
> dell'applicazione fatta in Django, e quindi recuperare i modelli. E che 
> l'archiviazione non viene eseguita così spesso e comunque in coda ad altre 
> operazioni che notoriamente impiegano tempo.
> Avrei anche il vantaggio di poter modificare soltanto i modelli di Django 
> senza dover riflettere le modifiche.
> 

Non e’ chiaro se sei dentro una applicazione Django oppure no.

Se la risposta e’ si usa l’ORM di Django, altrimenti senza dubbi su SqlAlchemy.

-- 
With Gravitational Cheers,

Christian Barra
EuroPython Society board member

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] [Django][SQLAlchemy] Django o SQLAlchemy?

2016-12-27 Per discussione Luca
allora

io ho un'applicazionciana in django che tra le sue applicazioncine ne ha
una che mi fa delle ricerche in databases sqlite.
questi databases sqlite vengono creati tramite un'altra applicazioncina in
python 2.5 (mi pare) che comunque utilizza ancora elixir.

L'idea è quella di riscrivere il programma che mi compila i database. Ma in
questo momento sono combattuto tra l'utilizzare SQLAlchemy o l'ORM di
Django.
Consierando il fatto che io posso mettere in os.sys.path il percorso
dell'applicazione fatta in Django, e quindi recuperare i modelli. E che
l'archiviazione non viene eseguita così spesso e comunque in coda ad altre
operazioni che notoriamente impiegano tempo.
Avrei anche il vantaggio di poter modificare soltanto i modelli di Django
senza dover riflettere le modifiche.

Che faccio ?
Django o SQLAlchemy?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python