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.

Reply via email to