Видимо я сам нашёл решение, проблема была в том, что при создании записей в таблице support у меня был указан метод update_or_create. В условиях, по которым он искал существующие записи были указаны только данные, которые могут повторяться от записи к записи, соответственно, я добавил в параметры поиска ещё данные, которые теперь делали поиск уникальным.
было:
coordinates = data.get('CoordinatesSupport', '').split(', ')
if len(coordinates) == 2:
support_latitude, support_longitude = map(float, coordinates)
Support_instance, support_created = Support.objects.update_or_create(
support_number=float(data['NumSupport']),
defaults={
'power_group': Power_Group_instance,
'power_station': Power_Station_instance,
'control_address': Control_Address_instance,
'support_latitude': support_latitude,
'support_longitude': support_longitude,
}
)
стало:
coordinates = data.get('CoordinatesSupport', '').split(', ')
if len(coordinates) == 2:
support_latitude, support_longitude = map(float, coordinates)
Support_instance, support_created = Support.objects.update_or_create(
support_number=float(data['NumSupport']),
support_latitude=support_latitude,
support_longitude=support_longitude,
defaults={
'power_group': Power_Group_instance,
'power_station': Power_Station_instance,
'control_address': Control_Address_instance,
}
)
если этот ответ отмечен решением, то он и является правильным ответом