(posting Massimo's reply) > e.g. 1, "Physics 101", 4|5|6 > Is that how data has to be modelled using the GAE datastore?
No. On GAE 'list:reference' maps into a ListProperty of integers > If so, is > it possible to do the following: > > - paginate the denormalised data, for example show a paginated list of > students on a course? You cannot. ListProperty does not allow this. > - have hundreds of IDs in the list:reference field (a course could > have hundreds of students) - or is there an upper limit? If there is it is a GAE limitation. I am not aware of it. > > Also, how are updates to these fields handled? For example, remove one > student from a course that has hundreds enrolled? Are there mechanisms > in web2py to handle this? course = db.course(name='Phsysics 101') course.students.remove(4) # remove student with id==4 course.update_record() > Also, it would seem that the two list:reference fields would need to > be kept synchronised somehow - if a student is deleted, any course > that they were enrolled on needs to be updated too, which (with my > mind still in relational database mode) would seem to be very > inefficient. I would use a many-2-many with a link table and I would not use GAE for this.