summaryrefslogtreecommitdiff
path: root/addons/website_blog/models
diff options
context:
space:
mode:
authorJeremy Kersten <jke@odoo.com>2020-04-23 13:30:58 +0000
committerJeremy Kersten <jke@odoo.com>2020-04-27 13:49:01 +0000
commit26efb4ea067657e023afe27d4573da463b468a8e (patch)
tree30a380c10cf2349d91f57405206f736b86a4dc11 /addons/website_blog/models
parent9247c5e8fde001d9bd53ea2c7cf9144326eda6e0 (diff)
[IMP] website_blog: perf - related author name avoid query res.partner
We use `author_id` (res.partner record) to instanciate our frontend widget address so it can be changed through left panel in a searchable list. This require a read on res.partner to get his name, even for visitors. Using a related will have the same result for visitors while it won't need to query res.partner table. task-2211013 Co-authored-by: Romain Derie <rde@odoo.com> Co-authored-by: Jeremy Kersten <jke@odoo.com>
Diffstat (limited to 'addons/website_blog/models')
-rw-r--r--addons/website_blog/models/website_blog.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/addons/website_blog/models/website_blog.py b/addons/website_blog/models/website_blog.py
index 42ceb7074b0..c99d2c0b1d0 100644
--- a/addons/website_blog/models/website_blog.py
+++ b/addons/website_blog/models/website_blog.py
@@ -134,6 +134,8 @@ class BlogPost(models.Model):
name = fields.Char('Title', required=True, translate=True, default='')
subtitle = fields.Char('Sub Title', translate=True)
author_id = fields.Many2one('res.partner', 'Author', default=lambda self: self.env.user.partner_id)
+ author_avatar = fields.Binary(related='author_id.image_128', string="Avatar", readonly=False)
+ author_name = fields.Char(related='author_id.display_name', string="Author Name", readonly=False, store=True)
active = fields.Boolean('Active', default=True)
blog_id = fields.Many2one('blog.blog', 'Blog', required=True, ondelete='cascade')
tag_ids = fields.Many2many('blog.tag', string='Tags')
@@ -151,7 +153,6 @@ class BlogPost(models.Model):
create_uid = fields.Many2one('res.users', 'Created by', index=True, readonly=True)
write_date = fields.Datetime('Last Updated on', index=True, readonly=True)
write_uid = fields.Many2one('res.users', 'Last Contributor', index=True, readonly=True)
- author_avatar = fields.Binary(related='author_id.image_128', string="Avatar", readonly=False)
visits = fields.Integer('No of Views', copy=False, default=0)
website_id = fields.Many2one(related='blog_id.website_id', readonly=True, store=True)