class DownloadReport(models.Model):
_name = "santex.download_report"
agency = fields.Many2one("res.partner", string="Agency",
domain="[('is_company', '=', True), '|' ,('company_type_santex','=','Supplier/Vendor'), ('company_type_santex','=','Supplier Agency')]")
report = fields.Binary(string="Report")
file_name = fields.Text(string="Name", copy=False)
customer_auth = fields.One2many("santex.customer_auth", inverse_name="company_skills")
licensor_auth = fields.One2many("santex.licensor_auth", inverse_name="company_skills")
certification_auth = fields.One2many("santex.certification_auth", inverse_name="company_skills")
@api.model
def create(self, vals_list):
recs_1 = self.env['santex.customer_auth'].create({'agency': vals_list["agency"]})
recs_2 = self.env['santex.licensor_auth'].create({'agency': vals_list["agency"]})
recs_3 = self.env['santex.certification_auth'].create({'agency': vals_list["agency"]})
vals_list["customer_auth"] = rec_1
vals_list["licensor_auth"] = rec_2
vals_list["certification_auth"] = rec_3
record = super(DownloadReport, self).create(vals_list)
return record
For information:
recs_1 = [santex.customer_auth(75,), santex.customer_auth(76,)]
recs_2 = [santex.licensor_auth(65,), santex.licensor_auth(66,)]
recs_3 = [santex.certification_auth(33,)]
Well, seems like "vals_list["customer_auth"] = rec_1" is wrong.
i am getting this error : psycopg2.ProgrammingError: can't adapt type 'santex.customer_auth'
Thanks for any help.
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Contabilidad
- Inventario
- PoS
- Project
- MRP
Se marcó esta pregunta
Hi,
The error you're encountering, psycopg2.ProgrammingError: can't adapt type 'santex.customer_auth', occurs because you're trying to assign a recordset (rec_1, rec_2, rec_3) to the vals_list dictionary, which is not a supported data type for the fields customer_auth, licensor_auth, and certification_auth.
You can try this to fix this:
class DownloadReport(models.Model):
_name = "santex.download_report"
agency = fields.Many2one("res.partner", string="Agency",
domain="[('is_company', '=', True), '|', ('company_type_santex', '=', 'Supplier/Vendor'), ('company_type_santex', '=', 'Supplier Agency')]")
report = fields.Binary(string="Report")
file_name = fields.Text(string="Name", copy=False)
customer_auth = fields.One2many("santex.customer_auth", inverse_name="company_skills")
licensor_auth = fields.One2many("santex.licensor_auth", inverse_name="company_skills")
certification_auth = fields.One2many("santex.certification_auth", inverse_name="company_skills")
@api.model
def create(self, vals_list):
recs_1 = self.env['santex.customer_auth'].create({'agency': vals_list["agency"]})
recs_2 = self.env['santex.licensor_auth'].create({'agency': vals_list["agency"]})
recs_3 = self.env['santex.certification_auth'].create({'agency': vals_list["agency"]})
vals_list["customer_auth"] = [(4, rec.id) for rec in recs_1]
vals_list["licensor_auth"] = [(4, rec.id) for rec in recs_2]
vals_list["certification_auth"] = [(4, rec.id) for rec in recs_3]
record = super(DownloadReport, self).create(vals_list)
return record
Hope this will help you
Thanks
To update a One2many field in the create method of an Odoo model, you can modify the record's One2many field values using the write method. Here's an example of how you can achieve this:
class MyModel(models.Model):
_name = 'my.model'
name = fields.Char()
my_lines = fields.One2many( 'my.model.line','model_id')
@api.model
def create(self, values):
record = super(MyModel, self).create(values)
# Update the One2many field 'my_lines' on create
lines = []
# Add your logic to generate the lines or fetch them from another source
for i in range(3):
line_values = {
'name': 'Line {}'.format(i+1),
'model_id': record.id,
}
lines.append((0, 0, line_values))
record.write({'my_lines': lines})
return record
The error you're encountering
¿Le interesa esta conversación? ¡Participe en ella!
Cree una cuenta para poder utilizar funciones exclusivas e interactuar con la comunidad.
InscribirsePublicaciones relacionadas | Respuestas | Vistas | Actividad | |
---|---|---|---|---|
|
0
ene 22
|
465 | ||
|
3
nov 21
|
3682 | ||
rest api not working in postman
Resuelto
|
|
2
ago 24
|
5086 | |
|
1
abr 23
|
2413 | ||
Upgrade from V14 to V15
Resuelto
|
|
1
oct 21
|
9374 |