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
- Comptabilité
- Inventaire
- PoS
- Project
- MRP
Cette question a été signalée
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
Vous appréciez la discussion ? Ne vous contentez pas de lire, rejoignez-nous !
Créez un compte dès aujourd'hui pour profiter de fonctionnalités exclusives et échanger avec notre formidable communauté !
S'inscrirePublications associées | Réponses | Vues | Activité | |
---|---|---|---|---|
|
0
janv. 22
|
465 | ||
|
3
nov. 21
|
3721 | ||
|
2
août 24
|
5111 | ||
|
1
avr. 23
|
2446 | ||
Upgrade from V14 to V15
Résolu
|
|
1
oct. 21
|
9390 |