Итак, я сделал переход от Flask к Django, чтобы попробовать последний. Пока мне очень нравятся модели в Django, но я столкнулся с проблемой, которую я не могу понять.Django Queryset Repr Error
Так что я делаю заявление в блоге, и когда я бегу следующее, я получаю эту ошибку:
Unable to get repr for class 'django.db.models.query.QuerySet'
Вот код, который генерирует эту ошибку, это происходит на линии, где я пытаюсь тянуть все категории класса ...
class HomeView(TemplateView):
template_name = "home.html"
context_object_name = 'nav_elements'
def get_context_data(self, **kwargs):
nav_elements = {}
if OASIS_BLOG in INSTALLED_APPS:
nav_elements[OASIS_BLOG[5:]] = self.get_categories()
return nav_elements
@staticmethod
def get_categories():
from apps.OASIS_Blog.models import Category
cats = Category.objects.all()
catdict = {}
for cat in cats:
if not cat.parent_category:
if not catdict.get(cat.name):
catdict[cat.name] = []
else:
pass
else:
if cat.parent_category.name in catdict.keys():
catdict[cat.parent_category.name].append('\t' + cat.name)
else:
catdict[cat.parent_category.name] = ['\t' + cat.name]
return catdict
А вот модель категории ...
class Category(models.Model):
name = models.CharField(max_length=64, blank=False)
parent_category = models.ForeignKey('self', null=True, blank=True)
def __unicode__(self):
return u'{0}{1}'.format(
self.name,
"" if not self.parent_category else " - {0}".format(
self.parent_category
)
)
class Meta:
app_label = 'OASIS_Blog'
verbose_name_plural = "categories"
Я ВГ Не знаю, почему это происходит, и моя попытка найти решение при отладке или прокрутке форумов и документации не показала ничего, что подсказывает мне решение. Кто-нибудь знает, что здесь происходит?
Не могли бы вы показать трассировку? – knbk
Он не оставлял его. Он просто возвращает None в переменную 'cats'; это сообщение об ошибке наблюдается только при отладке. Я думаю, что нашел проблему. – BrotherJack
Возможно, этот вопрос необходимо удалить. Если кто-то не сможет дать лучший ответ на вопрос, почему это произошло, я полагаю. Я имею в виду, что это просто помогло, но я не думаю, что это поможет кому-то еще, как сейчас. – BrotherJack