I want to get the list of the character fields from another model depending upon the matching of one field between 2 models, I wrote the code, the data is coming in the logs, but isn't getting assigned to the Selection field, can anyone help me with it?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- 客户关系管理
- e-Commerce
- 会计
- 库存
- PoS
- Project
- MRP
此问题已终结
1
回复
684
查看
Following is the code @Ray Carnes
account_id = fields.Many2one(
'account.account',
string='Fixed Asset Account',
help="Select the fixed asset account."
)
capacity_form = fields.Selection(
selection=[],
string='Capacity',
help="Select the capacity for the selected fixed asset account."
)
@api.onchange('account_id')
def _onchange_account_id(self):
if self.account_id:
# Fetch all capacities related to the selected account
asset_records = self.env['account.asset'].search([
('account_asset_id', '=', self.account_id.id)
])
# Prepare the selection list
capacities = [(asset.capacity, asset.capacity) for asset in asset_records if asset.capacity]
print('Capacities are', capacities)
# Dynamically update the selection options for capacity_form
self._fields['capacity_form'].selection = capacities
self.capacity_form = capacities
# Reset the value of capacity_form if it doesn't match the new options
if self.capacity_form not in dict(capacities):
self.capacity_form = False
else:
# Clear the selection if no account_id is selected
self._fields['capacity_form'].selection = []
self.capacity_form = False
相关帖文 | 回复 | 查看 | 活动 | |
---|---|---|---|---|
|
2
11月 24
|
2914 | ||
|
1
11月 23
|
3201 | ||
|
1
9月 23
|
4625 | ||
|
0
4月 21
|
3532 | ||
|
2
6月 25
|
1791 |
Your question is very theoretical. Can you post your code or something specific? Where would readers start if they wanted to help?