私はOdoo 9の計算フィールドで検索しようとしていますが、結果としてすべてのレコードが返されます。どのようにしてOdooの計算フィールドで検索できますか?
class Version(models.Model):
_name='product_cars_application.version'
name = fields.Char(compute="_get_name", store=True)
@api.one
def _get_name(self):
self.name = "%s %s %s (%s)" % (self.brand_id,
self.model_id.name,
self.vname,
self.year_id)
私はstore=True
とし、それなしで試してみましたが、名前フィールドがdatabseに格納されていません。私もデータベースから列 "名前"を削除しようとしましたが、モジュールを更新しましたが、計算を保存していません。計算されたフィールドは、フォームビューで正常に動作しますが、名前は格納されず、検索は機能しません。
フィールド名で検索するにはどうすればよいですか?
は、いくつかの変更を しなければならないデフ_name_search(自己、名前、引数=なし、演算子= 'iLikeの'、リミット= 100): かの演算子== 'のように': 演算子= 'iLikeの' バージョン= self.search([( 'name'、operator、name)]、limit = limit) リターンバージョン.name_get() –
私はあなたのニーズに私のコードを変更しました。同じ問題を抱えている誰かが、私たちがここでやったことをよりよく理解することができます。 – Nope
計算されたフィールドで 'store = True'を使用することは、場合によってはうまく動作しないため、使用しないことをお勧めします。 – ChesuCR