toulouse-maelis: prevent creating invoice in concurency (#82706)
gitea/passerelle/pipeline/head This commit looks good Details

This commit is contained in:
Nicolas Roche 2023-11-02 09:20:56 +01:00 committed by Nicolas Roche
parent 8bb8f2c1df
commit e59765eaf7
1 changed files with 10 additions and 10 deletions

View File

@ -4041,16 +4041,16 @@ class ToulouseMaelis(BaseResource, HTTPResource):
pass pass
else: else:
for item in result: for item in result:
try: invoice, created = self.invoice_set.get_or_create(
invoice = self.invoice_set.get(regie_id=regie_id, invoice_id=item['numInvoice']) regie_id=regie_id,
except Invoice.DoesNotExist: invoice_id=item['numInvoice'],
invoice = self.invoice_set.create( defaults={
regie_id=regie_id, 'family_id': family_id,
invoice_id=item['numInvoice'], 'maelis_data': item,
family_id=family_id, 'maelis_data_update_date': now(),
maelis_data=item, },
maelis_data_update_date=now(), )
) if created:
self.logger.info("Ajout de %s sur la famille '%s'", repr(invoice), family_id) self.logger.info("Ajout de %s sur la famille '%s'", repr(invoice), family_id)
else: else:
if invoice.family_id != family_id: if invoice.family_id != family_id: