2016-03-29 8 views
0

Hier circumnavigating ist das Modellfeld:die Postgres ARRAYField Unannehmlichkeit in DJANGO 1,9

prices = ArrayField(models.DecimalField(max_digits=6, decimal_places=2), null=True)... 

Werte:

prices': [[Decimal('23.00'), Decimal('38.50')], [Decimal('11.06')], [Decimal('20.00')], [Decimal('3.95')], [Decimal('11.00')], [Decimal('1.77'), Decimal('31.34')], [Decimal('6.62'), Decimal('19.00')], [Decimal('20.60')].....] 

Ihr Ziel ist es auf diese Weise in die Postgres DB einzufügen:

models.DasModel.objects.create(
       somedate  = date, 
       myprices  = prices,..) 

Ich verstehe, dass Postgres solche Listen nicht in ein ArrayField akzeptieren kann, aber sie müssen die Form {val1, val2,...} 012 habenDer Fehler, den ich bekomme, ist

DETAIL: "[" muss explizit angegebene Array-Dimensionen einführen.

Gibt es eine schnelle und einfache Möglichkeit, die Konvertierung durchzuführen?

+0

Hallo @codervince. Hast du das schon gelöst? Ich benutze ArrayField (JSONField()) und ich bekomme einen genauen Fehler wie deins. – aldesabido

Antwort

0

Versuchen Sie es mit -

prices = ArrayField(ArrayField(models.DecimalField(max_digits=6, decimal_places=2)), null=True)... 
+0

Rationale? Ich habe es gerade versucht - nichts zu tun. Id passen eher die Eingabe in das Modell als umgekehrt - sonst Id für JSONField gehen und damit fertig sein .. – codervince

Verwandte Themen