I have a user model and an incident model. And there's a profile page for users where I want to display a certain count of how many incidents are assigned to the user. This count gets changed every time either a new incident is created or if it is updated. So I want to write something in the create/write method of the incident model so that whenever the user_id field in the incident record pertains to a certain user record, I need to update the count in that user's record. This way we can keep the count displayed on the user's profile up to date.
Not sure how I will access and update the value of the other model from the create/write methods of this model.
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
i don't think you need to override the create/write method just put new field as a compute field for displaying counted incident: like example: in test.incident model has a relation to res.users/res.partner and you want to show how many incidents related to each user,
_inherit = 'res.users'
counted_incident = fields.Integer(compute="_compute_counted_incidents")
@api.multi
def _compute_counted_incidents(self):
for rec in self:
incidents = self.env['test.incident'].search([('user_id', '=', rec.id)])
rec.counted_incident = len(incidents)
then display the compute field in the views
I did this and for my use case it's not a simple counting. I have to selectively count incidents based on some domain filters. So when I do this I get the count but when I update an existing incident that alters it's eligibility to be counted the count number doesn't change. I have to create a new incident for it the count to get updated.
That's why I think that having this logic in the incident model is more accurate. Hope this makes sense.
i don't get what you mean can you share your code?
Hi sorry, you were right in your answer. I actually had done what you suggested but I guess I had an error, so when I fixed that, it was working again. Please ignore my comment.
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
2
Jan 16
|
34003 | ||
|
0
Jan 23
|
731 | ||
|
1
Aug 20
|
3514 | ||
|
1
Apr 20
|
4060 | ||
|
1
Sep 19
|
7703 |