This commit is contained in:
2025-08-03 10:10:10 +09:00
parent 7acdcc7465
commit 1d659ea5ee
3 changed files with 125 additions and 59 deletions

View File

@@ -95,14 +95,19 @@ class API_SYNC:
self.logger.warning("Запись клиента %s пропущена: отсутствует club_card_num. Запись: %s", index, item)
continue
# Используем update_or_create для обновления существующей записи
defaults = {
'name': item.get("name"),
}
telegram_id = item.get("telegram_id")
if telegram_id:
defaults['telegram_id'] = telegram_id # Обновим только если значение есть
obj, created = Client.objects.update_or_create(
club_card_number=club_card_number,
defaults={
'name': item.get("name"),
'telegram_id': item.get("telegram_id"),
}
defaults=defaults
)
new_or_updated += 1
if created:
self.logger.info("Запись клиента %s создана: club_card_num %s.", index, club_card_number)
@@ -112,6 +117,7 @@ class API_SYNC:
self.logger.error("Запись клиента %s имеет неожиданный тип: %s. Значение: %s", index, type(item), item)
return new_or_updated
def sync_invoices(self):
api_client = APIClient()
data = api_client.get_invoices()