IndexError: list index out of range Django и Postgresql DB
Я схожу с ума от этой проблемы, так что, пожалуйста, помогите хахахахаха.
Ошибка, которую я имею - IndexError: list index out of range, когда я пытаюсь сделать вставку в таблицу в моей БД.
Я пытаюсь вставить документ svc, содержащий только 30 строк.
есть идеи?
class CamerasBaleares(TimeStampedModel, SoftDeletableModel):
title = models.CharField(max_length=50, blank=True)
lat = models.FloatField(blank=True, null=True)
lon = models.FloatField(blank=True, null=True)
url = models.URLField(blank=True)
is_removed = models.BooleanField(default=False)
def __str__(self):
return self.title
def load_data(self):
import csv
self.file = open(r'/home/elsamex/Documentos/CamarasBaleares.csv')
self.row = csv.reader(self.file, delimiter='"')
self.list = list(self.row)
self.tupla = tuple(self.list)
def save_data(self):
import psycopg2
self.connection = psycopg2.connect("dbname=camarasdgt user=******* password=++++++++")
self.cursor = self.connection.cursor()
self.cursor.executemany ("INSERT INTO api_camerasbaleares (title, lat, lon, url) VALUES (%s, %s, %s, %s)", self.tupla)
self.connection.commit()
self.cursor.close()
self.connection.close()
def select (self):
self.load_data()
self.save_data()
self.cursor = self.connection.cursor()
self.cursor.execute("""SELECT * FROM api_camerasbaleares""")
self.rows = self.cursor.fetchall()
self.cursor.close()
self.connection.close()
return self.rows
ins_db= CamerasBaleares()
ins_db.load_data()
ins_db.save_data()
ins_db.select()
Здесь можно найти полную ошибку
(venv) elsamex@trabajo:~/API_Camaras_DGT/CamarasDgt$ python manage.py makemigrations
Traceback (most recent call last):
File "manage.py", line 22, in <module>
main()
File "manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/home/elsamex/API_Camaras_DGT/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
utility.execute()
File "/home/elsamex/API_Camaras_DGT/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 420, in execute
django.setup()
File "/home/elsamex/API_Camaras_DGT/venv/lib/python3.8/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/elsamex/API_Camaras_DGT/venv/lib/python3.8/site-packages/django/apps/registry.py", line 124, in populate
app_config.ready()
File "/home/elsamex/API_Camaras_DGT/venv/lib/python3.8/site-packages/django/contrib/admin/apps.py", line 27, in ready
self.module.autodiscover()
File "/home/elsamex/API_Camaras_DGT/venv/lib/python3.8/site-packages/django/contrib/admin/__init__.py", line 50, in autodiscover
autodiscover_modules("admin", register_to=site)
File "/home/elsamex/API_Camaras_DGT/venv/lib/python3.8/site-packages/django/utils/module_loading.py", line 58, in autodiscover_modules
import_module("%s.%s" % (app_config.name, module_to_search))
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 848, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/elsamex/API_Camaras_DGT/CamarasDgt/api/admin.py", line 10, in <module>
from api.Cameras_Baleares.models import CamerasBaleares
File "/home/elsamex/API_Camaras_DGT/CamarasDgt/api/Cameras_Baleares/models.py", line 45, in <module>
ins_db.save_data()
File "/home/elsamex/API_Camaras_DGT/CamarasDgt/api/Cameras_Baleares/models.py", line 28, in save_data
self.cursor.executemany ("INSERT INTO api_camerasbaleares (title, lat, lon, url) VALUES (%s, %s, %s, %s)", self.tupla)
IndexError: list index out of range
Я наконец-то решил, что проблема была в формате csv...
спасибо за все комментарии.