#python #django
Вопрос:
Я играю в Django, в представлениях — print('datatable', Datatable.objects.all())
— показывает эту ошибку/исключение
Exception in thread Thread-5:
Traceback (most recent call last):
File "C:UsersKarthiyayini DhillipAppDataLocalProgramsPythonPython38libthreading.py", line 932, in _bootstrap_inner
self.run()
File "C:UsersKarthiyayini DhillipAppDataLocalProgramsPythonPython38libthreading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "C:UsersKarthiyayini DhillipDocumentsdjproject1cvviews.py", line 87, in update
print('datatable', Datatable.objects.all())
File "C:UsersKarthiyayini DhillipAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelsquery.py", line 255, in __repr__
return '<%s %r>' % (self.__class__.__name__, data)
models.py
from django.db import models
# Create your models here.
class Users(models.Model):
email = models.EmailField(max_length = 254)
password = models.CharField(max_length=100)
def __str__(self):
return(self.email)
class Datatable(models.Model):
classes = models.CharField(max_length = 254)
date_d = models.DateField()
def __str__(self):
return(self.date_d, self.classes)
Как решить эту проблему, спасибо
Ответ №1:
Последняя строка ошибки :
File "C:UsersKarthiyayini DhillipAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelsquery.py", line 255, in __repr__
return '<%s %r>' % (self.__class__.__name__, data)
Сказал вам, что метод str выдает ошибку, очевидно, потому, что вы не вернули строковый объект.
Попробуйте вместо этого вернуть строку (я использую строку python f ) :
def __str__(self):
return(f"{self.date_d} - {self.classes}")