[Zope] assignment to form records
Fernando Martins
fmartins@hetnet.nl
Fri, 7 Mar 2003 00:04:18 +0100
From: Dieter Maurer
> Fernando Martins wrote at 2003-3-6 01:32 +0100:
> > I've two forms who pass a similar record to their scripts.
> Each script does
> > its own processing, "normalising" the record. The record is
> then passed to
> > another script which does common processing and final storage
> in a table.
>
> You can pass dictionaries instead of records.
>
Yes, but I just needed to modify a maximum of two fields and in a set of 12.
It would result in ugly and inefficient code.
hmm, unless there's some way to automatically convert an object to a
dictionary? (like a list comprehension or dict())
For the record, the obvious solution is to take these two away from this
particular record, but a general solution would be better.
> An alternative:
>
> "Products.PythonScripts.standard" defines the record
> factory "Object" (maybe different case, check the source).
>
> It returns a writable "record".
I tried this script:
import Products.PythonScripts.standard
ObjFields = Products.PythonScripts.standard.Object()
ObjFields = Fields
ObjFields.a_field = 10
and I got the same error:
> Error Type: TypeError
> Error Value: attribute-less object (assign or del)
Can you spot what's wrong?
Thanks,
Fernando