Sprox 0.9.7 has been released with a preliminary basic support for compound primary keys in forms: https://plus.google.com/+turbogears/posts/GnmT5HwxW6t
The support is far for being complete, but at least it is possible to create and edit entries with a compound primary key in tgext.admin now. On Mon, Jun 29, 2015 at 7:37 AM, Jacob Lister <[email protected]> wrote: > Yes, it appears the admin interface handles any models with a non > auto-integer primary key poorly for create operations - > in all cases it: > * displays columns marked primary key as disabled when editing > * doesn't display fields marked primary field on create, and leaves them > to default on the database query it makes > > Which will work fine for auto-integer keys, but not otherwise. > > Still I'm pretty impresses the admin interface can handle composite > primary keys otherwise (for edit/delete), might have a look around at the > SPROX code, as this limitation sounds solvable > > On Saturday, June 27, 2015 at 3:15:27 AM UTC+12, Alessandro Molina wrote: >> >> >> >> On Fri, Jun 26, 2015 at 4:47 PM, Alessandro Molina <[email protected] >> > wrote: >> >>> >>> however the interface only allow me to edit and delete records, not >>>> create new ones. (This is true for any non auto-integer primary key, not >>>> just multi column ones) >>>> >>> >>> What do you mean regarding that it doesn't allow to create new records? >>> What does it happen? >>> >> >> Ok, just saw what's your problem. >> Looks like most of SPROX code is meant to work with composite primary >> keys in relations, but the form generation part doesn't support composite >> primary keys. >> >> Both EditableForm and AddRecordForm actually rely on get_primary_field >> method of the provider, which in case of multiple primary keys only returns >> the first. >> So both of them actually consider only the first field to be the primary >> key and the second one as a plain field. >> >> This leads to odd behaviours, like in case of edit you can only change >> the second field of the primary key and in case of new the first field is >> missing at all as it is considered to be automatically generated. >> >> I suppose New works only if you provide a default value for both fields, >> as it expects the primary key to be automatic. >> > -- > You received this message because you are subscribed to the Google Groups > "TurboGears" 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/turbogears. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "TurboGears" 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/turbogears. For more options, visit https://groups.google.com/d/optout.

