次のようなテーブルがあります。
class fnx_sr_shipping(osv.Model):
_name = 'fnx.sr.shipping'
_description = 'shipping & receiving entries'
_inherits = {
'res.partner': 'partner_id',
}
_order = 'appointment_date desc, appointment_time asc'
_columns = {
.
.
.
'partner_id': fields.many2one(
'res.partner',
'Partner',
required=True,
ondelete='restrict'),
.
.
.
はrequired=True
OpenERP に必要です (存在しない場合は、OE が追加します)。
Web インターフェイスを使用すると、新しい出荷記録を作成し、既存のパートナーを選択できます。partner_id
ただし、XML-RPC ( shipping record create 呼び出しで s を指定)を使用して同じことを試みると、 OpenERP はres.partner
デフォルト設定を使用して新しいレコードを作成しようとしますが、必須フィールドにはデフォルトがないため ( name
)。
私が使用している XML-RPC コードは次のとおりです。
import openerplib
OE = PropertyDict() # allows attribute-style access for keys
OE.conn = openerplib.get_connection(
hostname='xxx',
database='yyy',
login='zzz',
password='...'
OE.res_partner = conn.get_model('res.partner')
.
.
.
values['partner_id'] = 77 # or whatever it actually is ;)
OE.fnx_shipping.create(values)
id
渡される s が正しいことを確認しました。
これは私のコードのバグですか、それとも OpenERP のバグですか?