Instanciation d'une ZClass
Je souhaite créer un produit.
Dedans, il y a entre autres une ZClass maclasse et Zope a créé tout seul le script python suivant auquel il a donné l'ID maclasse_ad.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
# Add a new instance of the ZClass
request = context.REQUEST
instance = container.maclasse.createInObjectManager(request['id'], request)
# *****************************************************************
# Perform any initialization of the new instance here.
# For example, to update a property sheet named "Basic" from the
# form values, uncomment the following line of code:
# instance.propertysheets.Basic.manage_editProperties(request)
# *****************************************************************
if redirect:
# redirect to the management view of the instance's container
request.RESPONSE.redirect(instance.aq_parent.absolute_url() + '/manage_main')
else:
# If we aren't supposed to redirect (ie, we are called from a script)
# then just return the ZClass instance to the caller
return instance |
Lorsque j'appelle ce script, j'ai l'erreur suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Traceback (innermost last):
* Module ZPublisher.Publish, line 121, in publish
* Module Zope2.App.startup, line 240, in commit
* Module transaction._manager, line 96, in commit
* Module transaction._transaction, line 380, in commit
* Module transaction._transaction, line 378, in commit
* Module transaction._transaction, line 433, in _commitResources
* Module ZODB.Connection, line 484, in commit
* Module ZODB.Connection, line 526, in _commit
* Module ZODB.Connection, line 553, in _store_objects
* Module ZODB.serialize, line 407, in serialize
* Module ZODB.serialize, line 416, in _dump
* Module copy_reg, line 70, in _reduce_ex
TypeError: default __new__ takes no parameters |
Apparemment, c'est la ligne :
Code:
1 2
|
instance = container.maclasse.createInObjectManager(request['id'], request) |
qui pose problème, et plus exactement les arguments entre ().
Pourquoi ?
Le code créé par Zope lui-même n'est pas bon ?
J'ai Zope 2.9.3.