mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
26 lines
1.0 KiB
Python
26 lines
1.0 KiB
Python
# -*- coding: utf-8 -*-
|
||
from odoo import models, fields, api, _
|
||
|
||
|
||
class BaseModelExtend(models.AbstractModel):
|
||
_name = 'basemodel.extend'
|
||
_description = 'Base Extend for Sunpop'
|
||
|
||
def _register_hook(self):
|
||
'''
|
||
Register method in BaseModel
|
||
如果 该 fieldname 是m2o的,那么如果context没值,就用该模型第一个
|
||
'''
|
||
@api.model
|
||
def _app_get_m2o_default(self, fieldname):
|
||
if hasattr(self, fieldname) and self._fields[fieldname].type == 'many2one':
|
||
if self._context.get(fieldname) or self._context.get('default_%s' % fieldname):
|
||
return self._context.get(fieldname) or self._context.get('default_%s' % fieldname)
|
||
else:
|
||
rec = self.env[self._fields[fieldname].comodel_name].search([], limit=1)
|
||
return rec.id if rec else False
|
||
return False
|
||
|
||
models.BaseModel._app_get_default = _app_get_m2o_default
|
||
return super(BaseModelExtend, self)._register_hook()
|