あなたは作成の時にいくつかのタスクをperformeしたいときはいつでも、あなた必要がありますモデルでoverride create method
(:admission.form)。
- オーバーライド
create
方法: みましょうあなたはその後、次の手順に従いだけadmission.formモデルのレコードの作成後にパートナーを作成したいと言います。
- 引数に
super
を呼び出し、結果に値を保持します。
- 今、あなたの仕事をしてください。
- return
result
。
コードスニペット:場合
@api.model
def create(self, vals):
result = super(AdmissionForm, self).create(vals)
new_vals = dict(name=result.name,
phone=result.phone,
email=result.email,
is_company=1,
supplier=1,
customer=1,
)
self.env['res.partner'].create(new_vals)
return result
を使用すると、レコードの作成前にいくつかのタスクを実行したい場合は次の手順を実行します。
- オーバーライドメソッドを作成します。
- あなたの仕事をしてください。
引数はreturn
です。super
を呼び出してください。私は私の質問を編集しますが、それは古いものに戻す理由を知らない申し訳ありません@parakash
@api.model
def create(self, vals):
new_vals = dict(name=vals.get('name'),
phone=vals.get('phone'),
email=vals.get('email'),
is_company=1,
supplier=1,
customer=1,
)
partner=self.env['res.partner'].create(new_vals)
return super(AdmissionForm, self).create(vals)
。連絡先のページのようにウェブサイトにフォームを追加したいのですが。顧客がフォームに記入すると、新しいリードが自動的に作成されます –
テンプレートを作成し、フォームを横に置き、データを処理するコントローラのURLを設定します。コントローラ上でrequest.envでモデルにアクセスできます[ 'admission.form']、 – prakash
サウンド・ロジック・パラカッシュ!私はあなたのコントローラを使用したことのないexamplrを表示してください、それは非常に単純な名前フィールドが正常に動作することができます。事前にお礼します –