-
Notifications
You must be signed in to change notification settings - Fork 47
Open
Description
Hello,
I have a non stored, computed field "is_expired" which is also readonly by default when the model is generated. So I get the error "{Odoo Server Error, 'sale.order' object attribute 'is_expired' is read-only}".
Adding "readonly=True" in order.sale.py doesn't solve this problem, it does however change the summary text to ReadOnly: False when generating the model again.
...
//var tableName = "sale.order";
//var modelResult = await odooClient.GetModelAsync(tableName);
//var model = OdooModelMapper.GetDotNetModel(tableName, modelResult.Value);
var saleOrderRepository = new OdooRepository<SaleOrderOdooModel>(config);
var saleOrders = await saleOrderRepository.Query()
.Where(x=>x.OrderNumber, OdooOperator.EqualsTo, orderNumber)
.ToListAsync();
...
C# Model (generated):
...
/// <summary>
/// is_expired - boolean <br />
/// Required: False, Readonly: True, Store: False, Sortable: False <br />
/// </summary>
[JsonProperty("is_expired")]
public bool? IsExpired { get; set; }
...
Odoo sale_order.py file:
...
is_expired = fields.Boolean(string="Is Expired", compute='_compute_is_expired') **//Adding readonly=True doesn't solve the problem**
...
def _compute_is_expired(self):
today = fields.Date.today()
for order in self:
order.is_expired = order.state == 'sent' and order.validity_date and order.validity_date < today
...
How can I make this work?
Metadata
Metadata
Assignees
Labels
No labels