gpt4 book ai didi

python - Mongoengine + Django-tables2 : Expected table or queryset, 不是查询集

转载 作者:太空宇宙 更新时间:2023-11-03 21:34:33 24 4
gpt4 key购买 nike

我开始学习 django 并使用它来构建我们的 mongoDB 并使用 mongoengine 进行连接。我正在关注this tutorial使用 django-tables2 但我什至无法启动它,因为我收到错误预期表或查询集,而不是查询集。这是我正在使用的类:

class Companies(Document):
url = StringField(required=True, unique=True)
name = StringField(required=True)
founded = IntField()
headquarters = EmbeddedDocumentField(HQ)
description = StringField()

关于我正在做的 View

def companies(request):
return render(request, 'toolbox/companies.html', {'companies': Companies.objects.all()})

我看到 mongoengine 输出是 QuerySet 类型。如何将其转换为可以在 django-tables 上输入的某种类型?谢谢您的帮助!

最佳答案

django-tables2 期望的数据格式是一个 QuerySet、一个字典列表或类似的东西。您可以创建一个继承自 TableData 的类,将其传递给普通 django_tables2.Table 并将其放入您的上下文中,而不是 Companies.objects.all()

它看起来有点像这样:

import django_tables2 as tables
from django_tables2.data import TableQuerysetData


class TableDocumentData(TableQuerysetData):
# not sure what to override here, since I do not know the mongoengine API at all


def companies(request):
table = CompanyTable(data=TableDocumentData(Companies.objects.all()))

return render(request, 'toolbox/companies.html', {'companies': table})

关于python - Mongoengine + Django-tables2 : Expected table or queryset, 不是查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53318985/

24 4 0