Hi,
I have following table definition:
b.define_table('exchange_rate',
Field('currency', length=5, required=True, notnull=True,
label='Valuta'),
Field('rate_date', type='date', required=True, notnull=True,
label='Datum tečaja'),
Field('buy_rate', type='decimal(18,6)', required=True,
notnull=True, label='Kupovni tečaj'),
Field('median_rate', type='decimal(18,6)', required=True,
notnull=True, label='Srednji tečaj'),
Field('sell_rate', type='decimal(18,6)', required=True,
notnull=True, label='Prodajni tečaj'))
What I want is to produce "yyyy-mm" field from rate_date and then group
data by that field.
My query should be like this (a non working example, but to give you an
idea what I need):
exchangeData = db().select(
db.exchange_rate.currency,
str(db.exchange_rate.rate_date.year()) + "-" +
str(db.exchange_rate.rate_date.month()),
db.exchange_rate.kupovni_tecaj.avg().with_alias('buy_rate_avg'),
db.exchange_rate.prodajni_tecaj.avg().with_alias('sell_rate_avg'),
orderby=db.exchange_rate.valuta|db.tecajna_lista.datum_tecaja,
groupby=db.exchange_rate.valuta|db.tecajna_lista.db.exchange_rate.rate_date.year()|db.exchange_rate.rate_date.month())
I also tried creating calculated field like this:
Field('year_month', length=20, compute=lambda r:
'{0:s}-{1:s}'.format(str(r['rate_date'].year()), str(r['rate_date'].month())))
But, when I try to read year_now - it is always None (I always truncate and
insert rows, so calculated field should be calculated).
Any ideas how to solve this?
Thanks,
Mario
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.