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=100000.0,agency_price=80000.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