콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
2 답글
14703 화면

My code: Code below makes no difference in field.

backend_id = fields.Many2one(comodel_name='qb.backend',
                                      string='Quick Backend', store=True,
                                      readonly=False, required=False, default=lambda self:
                                      self.env['qb.backend'].search([]).id
                                      )

I want to set default value of the field in existing records. As I am able to set that field with default value at the time of creating new record with the help of default_get function, but existing records need to be filled manually or by selecting the value.

Example:

_name='qb.backend'

name = fields.char()

 When this field is saved, I want the value of this field to be assigned to the many2one related field in other models.

Backend field exist in every module so the existing database or existing records having this field should be auto filled on save of above field called name.

Backend field should be auto filled by the value of above field.

backend = fields.Many2one('comodel='qb.backend')

아바타
취소
베스트 답변

do it on qb.backend create method like this.

@api.model

def create(self, vals):

    res = super(QbBackend, self).create(vals)

    self.env['YourModel'].search([('backend_id', '=', False)]).write({'backend_id': res.id})

    retrun res

아바타
취소
작성자

Thank you @Jigar Vaghela (jva). It works.

Welcome mansi

also give vote to this answer so other can find it easily.

작성자 베스트 답변

@api.model
    def create(self, vals):
         res = super(bk_backend, self).create(vals)
        self.env['account.analytic.line'].search([('backend_id', '=', False)]).write({'backend_id': res.id})
        return res

This worked @jigarvagela

아바타
취소
관련 게시물 답글 화면 활동
2
2월 23
9080
2
7월 24
2635
1
6월 24
5102
1
10월 23
10795
1
10월 23
98