This question has been flagged
2 Replies
11283 Views

Hello All,

I want to set default country "Hong Kong" for country_id field. So what function i write for that in odoo10. Now my python code is below:

py code:

@api.depends('country_id')
def _get_default_country(self, context=None):
if self.country_id:
return {'domain': [('country_id', '=', self.country_id.id)]}
print "yes:", 235
return True

_defaults = {

'country_id': _get_default_country
}
country_info = fields.Char(compute='_get_default_country', string='Default Country')
Avatar
Discard

For setting default value for a field from the user interface: https://www.youtube.com/watch?v=cQYHiGAd9k4

Best Answer

Hello Pawan Sharma,

You are using odoo v10 as per that I suggest below code, I hope this will help you.
See below code :

    @api.model

    def _get_default_country(self):

        country = self.env['res.country'].search([('code', '=', 'HK')], limit=1)

        return country


    country_id = fields.Many2one('res.country', string='Country',

                                 default=_get_default_country)

If you want to see all Countries and its code then go to Sales => Configuration => Contacts => Localization => Countries.

Thanks

Avatar
Discard
Author Best Answer

Thanks it's working....!!

Avatar
Discard
Author

i'm also applied by id. Add it's also working.

My python code is below:

(Here 95 is Hong Kong Id)

@api.model

def _get_default_country(self):

print "yes:", 95

return 95

country_id = fields.Many2one('res.country', "Country", change_default=True, default=_get_default_country)