[Python] [Django][SQLAlchemy] Django o SQLAlchemy?
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
Re: [Python] [Django][SQLAlchemy] Django o SQLAlchemy?
> 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
Re: [Python] [Django][SQLAlchemy] Django o SQLAlchemy?
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
[Python] Help me with PG JSON e Django
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] Help me with PG JSON e Django
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
Re: [Python] Help me with PG JSON e Django
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 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
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