diff options
| author | Jeremy Kersten <jke@odoo.com> | 2020-04-23 13:30:58 +0000 |
|---|---|---|
| committer | Jeremy Kersten <jke@odoo.com> | 2020-04-27 13:49:01 +0000 |
| commit | 26efb4ea067657e023afe27d4573da463b468a8e (patch) | |
| tree | 30a380c10cf2349d91f57405206f736b86a4dc11 /addons/website_blog/models | |
| parent | 9247c5e8fde001d9bd53ea2c7cf9144326eda6e0 (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.py | 3 |
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) |
