diff --git a/openerp/tools/qweb.py b/openerp/tools/qweb.py
index edae665ddfc..7b19666f5e6 100644
--- a/openerp/tools/qweb.py
+++ b/openerp/tools/qweb.py
@@ -280,16 +280,22 @@ class QWebXml(object):
""" eg: +1 555 555 8069"""
record = v[t_att["record"]]
- if record._model._columns.get(t_att["field"])._type == 'many2one':
- inner = cgi.escape(str(getattr(record, t_att["field"]).name_get()[0][1]))
- else:
- inner = cgi.escape(str(getattr(record, t_att["field"])))
+ inner = ""
+ try:
+ if record._model._columns.get(t_att["field"])._type == 'many2one':
+ field = getattr(record, t_att["field"])
+ if field:
+ inner = cgi.escape(str(field.name_get()[0][1]))
+ else:
+ inner = cgi.escape(str(getattr(record, t_att["field"])))
+ if e.tagName != 't':
+ # are escaped
+ g_att += ' %s="%s"' % ('data-oe-model', record._model._name)
+ g_att += ' %s="%s"' % ('data-oe-id', str(record.id))
+ g_att += ' %s="%s"' % ('data-oe-field', t_att["field"])
+ except AttributeError:
+ _logger.warning("t-field no field %s for model %s", t_att["field"], record._model._name)
- if e.tagName != 't':
- # are escaped
- g_att += ' %s="%s"' % ('data-oe-model', record._model._name)
- g_att += ' %s="%s"' % ('data-oe-id', str(record.id))
- g_att += ' %s="%s"' % ('data-oe-field', t_att["field"])
return self.render_element(e, t_att, g_att, v, inner)
# leave this, al.