Je souhaite obtenir tous les objets du modèle de code et comptabiliser la longueur des objets renvoyés. Je reçois une erreur que je ne peux pas comprendre.Erreur lors de l'extraction d'objets du modèle Django
Ceci est mon modèle
class Codes(models.Model):
username = models.CharField(max_length=100)
code = models.CharField(max_length=10000)
language = models.CharField(max_length=100)
def __str__(self):
return self.language
J'utilise la fonction ci-dessous pour obtenir tous les objets du modèle
def get_all_codes(lang):
queryset = Codes.objects.filter(language = lang)
return queryset
appel de la fonction
all_codes_of_lang = get_all_codes(lang)
et essayer de compter la longueur en utilisant:
if len(all_codes_of_lang) > 0:
print("abc")
conduit à cette erreur:
if len(all_codes_of_lang) > 0:
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 240, in __len__
self._fetch_all()
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 1074, in _fetch_all
self._result_cache = list(self.iterator())
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 52, in __iter__
results = compiler.execute_sql()
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 848, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 95, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
ProgrammingError: relation "submissions_codes" does not exist
LINE 1: ...odes"."code", "submissions_codes"."language" FROM "submissio...
^
-->
Vos modèles ne sont pas synchronisés avec votre base de données. Exécutez 'python manage.py makemigrations' et' python manage.py migrate' pour corriger. – SaeX