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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Apparemment, c'est la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
qui pose problème, et plus exactement les arguments entre ().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 instance = container.maclasse.createInObjectManager(request['id'], request)
Pourquoi ?
Le code créé par Zope lui-même n'est pas bon ?
J'ai Zope 2.9.3.
Partager