On Thu, Oct 10, 2013 at 6:02 PM, Daniel Roseman <[email protected]> wrote:
> On Thursday, 10 October 2013 10:08:18 UTC+1, Marc Aymerich wrote:
>>
>> Hi Rafael, thanks !
>> I forgot to mention that I was already using django-jsonfield
>> https://github.com/bradjasper/django-jsonfield
>> and now I've tried with django-json-field but with the same unfortunate
>> result:
>>
>> TimeSerie.objects.filter(type='cpu').values('value')
>> [{'value':
>> '{"scheduled":2,"total":864,"15min":0.38,"1min":0.3,"5min":0.48}'},
>> {'value':
>> '{"scheduled":2,"total":859,"15min":0.34,"1min":0.23,"5min":0.32}'},
>> {'value':
>> '{"scheduled":2,"total":849,"15min":0.33,"1min":0.51,"5min":0.32}'}]
>>
>> did I missed something?
>>
>
> You need to show how you are storing this value in the first place.
yep, here we go
class TimeSerie(models.Model):
type = models.CharField(max_length=64)
value = JSONField()
date = models.DateTimeField(auto_now_add=True)
# This is how the value is stored
value = json.loads(run(self.cmd, display=False).stdout)
TimeSerie.objects.create(type=self.name, value=value)
# And this is how it looks like using ValuesQuerySet vs accessing the
object value
>>> TimeSerie.objects.filter(pk=4769).values('value')
[{'value':
'{"used":5358516,"cached":3191544,"free":2729444,"real-used":2044016,"shared":0,"real-free":6043944,"total":8087960,"buffers":122956}'}]
>>> TimeSerie.objects.filter(pk=4769)[0].values
{u'used': 5358516, u'cached': 3191544, u'free': 2729444, u'real-used':
2044016, u'shared': 0, u'real-free': 6043944, u'total': 8087960,
u'buffers': 122956}
One is an string and the other is a dict.
And here using raw sql
=# select value from monitor_timeserie where id=4769;
value
--------------------------------------------------------------------------------------------------------------------------------------
{"used":5358516,"cached":3191544,"free":2729444,"real-used":2044016,"shared":0,"real-free":6043944,"total":8087960,"buffers":122956}
(1 row)
it's a json field acctually
=# \d+ monitor_timeserie;
Table
"public.monitor_timeserie"
Column | Type |
Modifiers | Storage | Stats target |
Description
--------+--------------------------+----------------------------------------------------------------+----------+--------------+-------------
id | integer | not null default
nextval('monitor_timeserie_id_seq'::regclass) | plain |
|
type | character varying(64) | not null
| extended | |
value | json | not null
| extended | |
date | timestamp with time zone | not null
| plain | |
Indexes:
"monitor_timeserie_pkey" PRIMARY KEY, btree (id)
"monitor_timeserie_date_4395efb9" btree (date, type)
Has OIDs: no
--
Marc
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/CA%2BDCN_urOzXqLBL6DfeVc3kTHQEz2xXsuiaP1Btr8S-ygAZFbg%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.