On Thursday, November 30, 2017 at 1:15:34 PM UTC+2,
[email protected] wrote:
>
> I'm not sure I understand the link between student and student_class.
> Does student.class_name reference class_name.id?
>
Yes it does
>
> Anyway, I think you need to be joining things up properly, and grouping by
> student:
>
> def generate_report():
>
> marks=db(
> (db.student_class.class_name=='5A')
> & (db.student.class_name == db.student_class.id)
> & (db.marks.student == db.student.id)
> ).select(
> db.marks.avg().with_alias('average_marks'),
> groupby=db.marks.student,
> orderby=~db.marks.avg()
> )
>
> return locals()
>
> Then you can find the position in the rowset.
>
OK thanks, i'll try this out & i really really hope it helps me coz i'm
beat!!!
>
>
> On Thursday, 30 November 2017 10:27:09 UTC, mostwanted wrote:
>>
>>
>>
>> On Thursday, November 30, 2017 at 12:03:06 PM UTC+2,
>> [email protected] wrote:
>>>
>>> I think you need to give a bit more context. What are your model
>>> definitions for db.student_class and db.marks? Does each student have
>>> multiple rows in the marks table?
>>>
>>
>>
>>
>> *THESE ARE MY MODEL DEFINITIONS:*I put up the only the ones i thought
>> mat be necessary here but if u need anything else please let me know
>>
>>> db.define_table('student_class',
>>> Field('class_name', requires=IS_NOT_EMPTY()),
>>> Field('teacher', 'reference teacher'),
>>> format='%(class_name)s')
>>>
>>> db.define_table('student',
>>> Field('surname', requires=IS_NOT_EMPTY()),
>>> Field('name', requires=IS_NOT_EMPTY()),
>>> Field('photo', 'upload', requires=IS_NOT_EMPTY()),
>>> Field('gender', requires=IS_NOT_EMPTY()),
>>> Field('residence', requires=IS_NOT_EMPTY()),
>>> Field('guardian', 'reference parent'),
>>> Field('class_name', 'reference student_class'),
>>> Field('dob', 'date', requires=IS_NOT_EMPTY()),
>>> format='%(surname)s', migrate=False, false_migrate=True)
>>>
>>> db.define_table('marks',
>>> Field('student', 'reference student'),
>>> Field('subject', 'reference subject'),
>>> Field('term', 'reference term'),
>>> Field('marks', 'float', requires=IS_NOT_EMPTY()),
>>> Field('total', 'float', requires=IS_NOT_EMPTY()),
>>> Field('percentage','float', readable=False, writable=
>>> False),
>>> Field('average', 'float', readable=False, writable=False
>>> ),
>>> Field('grade', readable=False, writable=False),
>>> Field('totalAverage', readable=False, writable=False),
>>> Field('averageGrade', readable=False, writable=False),
>>> Field('comments',type='text',requires=IS_NOT_EMPTY()))
>>>
>>
>
--
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.