跳至內容
選單
此問題已被標幟
3 回覆
2103 瀏覽次數
.py
class Partner(models.Model):
_description = 'Contact'
_inherit = 'res.partner'
def _default_category(self):
return self.env['res.partner.category'].browse(self._context.get('category_id'))
category_id = fields.Many2many('res.partner.category', column1='partner_id', column2='category_id', string='Tags', store=True, compute =_default_category)

Actually i am trying to apply the group by on Many2many field but it does not store any value i dont know why. 


頭像
捨棄
最佳答案

Hi Uzair

Try to use a default attribute to populate the field when creating a new record.


from odoo import models, fields

class Partner(models.Model):
    _inherit = 'res.partner'
    _description = 'Contact'

    def _default_category(self):
        # Return the default category based on context or other logic
        return self.env['res.partner.category'].browse(self._context.get('category_id'))

    category_id = fields.Many2many(
        'res.partner.category',
        column1='partner_id',
        column2='category_id',
        string='Tags',
        default=_default_category,  # Use default instead of compute
        store=True
    )
Explanation
  1. default Instead of compute: The default attribute allows Odoo to populate the Many2many field with an initial value at record creation. By using default, values are stored directly in the database, making the field accessible for grouping.
  2. Store Values in Database: With store=True and the default value set, category_id values are saved to the database, allowing you to group records by this field.

Let me know if that helped


warm regards

Daniel

頭像
捨棄
最佳答案

Hi

we can create an alternate Char field to store these values in M2M and show it in the group by 

Check these references it will help you to create a group for many2many field 

How to Use Group for Many2Many Fields in Odoo


Regards



頭像
捨棄
作者 最佳答案

thanks @Milay shajan

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
0
4月 24
1647
0
2月 23
2698
1
8月 21
11256
1
2月 25
20847
1
4月 16
6396