Nella mia installazione di OpenERP ho il seguente campo, che non era necessario prima, ma ho cambiato l'argomento richiesto su True.Come rendere il campo in OpenERP richiesto solo per lo stato del flusso di lavoro specifico?
'fiscal_position': fields.many2one(
'account.fiscal.position',
'Fiscal Position',
required=True,
readonly=True,
states={'draft':[('readonly',False)]}
),
Nel registro di debug vedo che l'ORM tenta di impostare un vincolo non nullo per quel campo nel database.
2013-01-04 15:28:56 EET STATEMENT: ALTER TABLE "account_invoice"
ALTER COLUMN "fiscal_position" SET NOT NULL
Come posso impedirlo? La mia idea è di avere il True flag richiesto, solo per i nuovi record e senza avere un vincolo NOT NULL. In altri casi gli errori di integrità PostgreSQL verificarsi:
IntegrityError: null value in column "fiscal_position" violates
not-null constraint
Così, come posso avere un campo obbligatorio nella visualizzazione modulo, senza fare l'ORM toccare i vincoli dello schema del database? O come posso modificare dinamicamente il campo richiesto, in base allo stato dell'oggetto?
Grazie per l'aiuto. –