我在通過搜索不同的 stackoverflow 問題來解決這個問題時遇到了麻煩,但我正在使用基于函式的視圖來簡化我的一天。但是,當我從資料庫中檢索這個單一資料并使用 slice 只顯示一條記錄時。它在它旁邊拋出一個標簽,當我們在終端中測驗列印時通常會看到這個標簽。但究竟如何擺脫這種情況呢?
tutorials = Tutorial.objects.values_list('id', flat=True)
courses = Course.objects.all()
tutorial_title = Tutorial.objects.filter(id__in=tutorials).values('title').values_list('title', flat=True)
context = {'tutorial': tutorials,'courses': courses, 'tutorial_title': tutorial_title}
這是我的代碼片段,當我呼叫{{ tutorial_title | slice:'1'}}. 它應該只呼叫一個最新的記錄,它可以完美地作業,但在顯示的資料旁邊有一個 <QuerySet 標簽。
uj5u.com熱心網友回復:
為什么不將它作為單標題傳遞給模板:
courses = Course.objects.all()
tutorial_titles = ', '.join(Tutorial.objects.values_list('title', flat=True))
context = {
'courses': courses,
'tutorial_titles': tutorial_titles
}
這tutorial_titles是一個逗號分隔的教程標題字串。
或者,如果您只想要第一個標題:
courses = Course.objects.all()
tutorial_title = Tutorial.objects.values_list('title', flat=True).first()
context = {
'courses': courses,
'tutorial_title': tutorial_title
}
uj5u.com熱心網友回復:
我想我只是偶然發現了答案。所以我知道 QuerySet 是一個串列,所以在我的 views.py 中,我想我可以只在 Query 本身上設定一個 for 回圈并將其拋出到一個空串列,該串列將使用背景關系拋出到模板。毛
tutorials = Tutorial.objects.values('id')
courses = Course.objects.all()
**tutorial_titleList = []**
tutorial_title = Tutorial.objects.filter(id__in=tutorials).values('title').values_list('title', flat=True)
**for tutorial in tutorial_title:
tutorial_titleList.append(tutorial)**
context = {'tutorial': tutorials,'courses': courses, 'tutorial_title': tutorial_titleList}
并在我的模板標簽中。由于它仍然回傳一個串列,我只是把 | 加入:“”旁邊的模板標簽
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/384111.html
上一篇:對于Django模型中的外鍵,除了models.CASCADE之外,on_delete是否還有其他選項?
下一篇:Django表單-選擇下拉選單
