gpt4 book ai didi

python - Django 干草堆 : How to index field from another class

转载 作者:行者123 更新时间:2023-12-02 22:37:35 25 4
gpt4 key购买 nike

我有一个 django 模型 Story,我可以使用模板成功地对其进行索引。然而,还有另一个模型 Reviews,它有一个静态方法,它接受 Story 对象并返回 ratings 作为整数。我还如何在 ratings 上索引 Story

{{ object.story_name }}
{{Reviews.ratings(object)}}

我试图在模板 story_text.txt 中调用此方法,但会导致错误。

django.template.exceptions.TemplateSyntaxError: Could not parse the remainder: '(object)'....

编辑:我尝试在模板中使用 below,它在构建索引时没有给出任何错误。但是我现在如何在使用 SearchQuerySet

进行搜索时引用该字段
Reviews.average_start_rating( {{object}} )

最佳答案

我很困惑。我认为您不能在 Django 中将 {{ Reviews.rating object }} 之类的语法与模板引擎一起使用。如果可能的话,那是我不知道的。

为什么不先将要在模板中显示的内容传递到 Context 中?

{{ object }} 可以被渲染,因为它在上下文中有对象。例如,如果您使用 UpdateView(基于类的 View ),它会自动在 Context 中包含对象。

class Example(UpdateView):
model = yourClass
form_class = yourFormClass
template_name = yourhtml
success_url = URL redirect page after success

你可以使用{{object}}在 yourhtml.html 中,因为 UpdateView。您在 url conf 中提供 pk 编号,例如 (?P<pk>[0-9]+) .

不用UpdateView也可以这样做

class anotherExample(View):
def get(self, request, *args, **kwargs):
render(request, 'yourhtml.html', {"object": Class.objects.get(id=self.kwargs['pk'])})

在表单 View 中,你可以使用

def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['object'] = Class.objects.get(id= ... )
return context

我的想法是在上下文中将具有故事对象 FK 的故事对象和评论对象一起传递。

关于python - Django 干草堆 : How to index field from another class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45004948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com