所以我已经从酒瓶切换到Django来尝试后者。到目前为止,我真的很喜欢Django中的模型,但是我遇到了一个我无法解决的问题。
因此,我正在创建一个博客应用程序,当我运行以下程序时,会得到以下错误:
无法获得类“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"我不知道为什么会发生这种情况,我试图在调试或浏览论坛和文档时找到解决方案,但没有找到任何给我提供解决方案的建议。有人知道这是怎么回事吗?
发布于 2015-12-14 15:39:15
问题似乎是,我将manage.py脚本定向到了错误的设置文件。还有一些问题还没有得到解答。最大的原因是为什么我可以访问shell中的分类数据,但在运行服务器时不能访问。这可能与manage.py的调用方式有关。
在前一种情况下,我只需调用'python manage.py shell',在后者中我将调用'python manage.py runserver config.settings‘(我将其更改为config.environment.development,现在它正在正常工作)。
https://stackoverflow.com/questions/34270512
复制相似问题