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"] = recs_1
vals_list["licensor_auth"] = recs_2
vals_list["certification_auth"] = recs_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, it 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.
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
Thanks