Thanks for taking some of my points into account. A new iteration:
#138 use .copy() for a shallow copy of a dict
#138, #140 'in' applied to dicts checks for keys, no need to create a new keys() list
#154 not all models declare a name property, consider using name_get()
#165 this context keys are very general. Better use some prefix to avoid unintentional clashes
#166ff why the loop?
#171 this yields a warning, better use 'in'
#194 add ondelete='cascade'
And please push your changes over the current branch, otherwise you'll lose all comments as last time
Thanks for taking some of my points into account. A new iteration:
#138 use .copy() for a shallow copy of a dict
#138, #140 'in' applied to dicts checks for keys, no need to create a new keys() list
#154 not all models declare a name property, consider using name_get()
#165 this context keys are very general. Better use some prefix to avoid unintentional clashes
#166ff why the loop?
#171 this yields a warning, better use 'in'
#194 add ondelete='cascade'
And please push your changes over the current branch, otherwise you'll lose all comments as last time