すでに同じ形式で、他の 3 つのフィールドを連結した 1 つのフィールドを表示する方法があるのだろうか。
たとえば、次のようにします。
'field_1' : fields.integer('Campo 1'),
field_2' : fields.integer('Campo 2'),
field_3' : fields.integer('Campo 3'),
次に、これら 3 つのフィールドの入力を 1 つのフィールドに連結して表示します。
field_concatenated : fields.related(?)('field_1', 'field_2', 'field_3', 'Name of the field'),
'?' を入れます。私は実際にこれを達成する方法がわからないので、おそらくrelated
タイプのものを使用していますか?ちなみに、3つのフィールドは同じクラスフォームにあります。
結果のフィールドは である可能性がありreadonly
、フォームが保存された後に表示されます。
私は自分自身を説明したことを願っています。
前もって感謝します
EDIT
フィールドのタイプは次のとおりですinteger
。char
2nd EDIT
実際の例:
'empresa' : fields.integer('Empresa'),
'provee' : fields.integer('Proveedor'),
'soli_cant' : fields.integer('Cantidad de Solicitudes'),
'dest' : fields.char('Destino'),
'anho' : fields.integer('Año'),
したがって、これらのフィールドが手動で入力された後、結果のフィールドは、これらの 4 つのフィールドの連結を次のような形式で表示する必要があります。empresa-proveesoli_cant-dest-anho
次々provee
とsoli_cant
(「-」なしで)それが不可能な場合は、区切り記号なしの連結を表示します
おそらくPythonコードで宣言されているとは限りません.xmlビューにショートカットがあるのでしょうか?
idkのようなもの<field name="empresa" "provee" "soli_cant" "dest" "anho" />
...
3rd EDIT
私が現在使用している実際のコード ( Ethan Furmanに感謝):
列:
'empresa' : fields.integer('Empresa'),
'provee' : fields.integer('Proveedor'),
'soli_cant' : fields.integer('Cantidad de Solicitudes'),
'dest' : fields.char('Destino'),
'anho' : fields.integer('Año'),
その列を持つ関数:
def _combinalos(self, cr, uid, ids, field_name, args, context=None):
values = {}
for id in ids:
rec = self.browse(cr, uid, [id], context=context)[0]
values[id] = {}
values[id][field_name] = '%s %s %s %s %s' %(rec.empresa, rec.provee, rec.soli_cant, rec.dest, rec.anho)
return values
columns = {
'nombre' : fields.function(_combinalos, string='Referencia de Pedido', type='char', arg=('empresa','provee','soli_cant', 'dest', 'anho'), method=True),
もちろん、これはすべて同じclass
です。
view
次に、次のように xml から呼び出します。
<h1>
<label string="Request for Quotation " attrs="{'invisible': [('state','not in',('draft','sent'))]}"/>
<label string="Purchase Order " attrs="{'invisible': [('state','in',('draft','sent'))]}"/>
<field name="nombre" class="oe_inline" readonly="1" />
</h1>
はlabel string
、これがRequest for Quotation
またはPurchase Order
このすべての後、5 つのフィールドinteger
とchar
タイプに入力しますが、これらのフィールドが 1 つの文字列またはタイトルに「連結」されず、[object Object] というラベルだけが表示されますlabel
。問題になる可能性がありますか? 多分列の関数の文字列名?