You have to do this in .py file
Some examples from sale.py
Odoo 9:
date_order = fields.Datetime(string='Order Date', required=True,
readonly=True, index=True, states={'draft': [('readonly', False)],
'sent': [('readonly', False)]}, copy=False, default=fields.Datetime.now)
price_unit = fields.Float('Unit Price', required=True, digits=dp.get_precision('Product Price'), default=0.0)
Odoo 8:
'date_order':
fields.datetime('Date', required=True, readonly=True, select=True,
states={'draft': [('readonly', False)], 'sent': [('readonly',
False)]}, copy=False),
'price_unit': fields.float('Unit Price',
required=True, digits_compute= dp.get_precision('Product Price'),
readonly=True, states={'draft': [('readonly', False)]}),
_defaults = {
'date_order': fields.datetime.now,
'price_unit': 0.0,
}