是否可以更改QuerySet對象中的某些特定項目?在我的情況下,我試圖切割長度超過40個字符的「標題」字段,並在字段末尾添加「...」。修改查詢集結果
修改查詢集結果
回答
有兩種方法可以做你想做的。
第一個是使用Django過濾器。因此,如果您要循環查看您的查詢集的項目並在頁面上顯示它們,請使用類似truncatewords的內容。你會在你的模板中使用這個像這樣:
{% for item in queryset %}
<h1>{{ item.title|truncatewords:3 }}</h1>
{% endfor %}
它看起來不像是有Django的過濾器上的字符數截斷基地。如果你想要write your own filter這並不難。
另一種選擇是在模型上放置一個方法來做你想做的事。這裏有一個例子:
@property
def short_title(self):
return '%s...' % self.title[:40]
你然後能在你的模板來引用,因爲這在任何地方{{object.short_title}}。
謝謝,已添加到我自己的/ r/todayLarned – sadegh 2009-11-19 16:17:28
我建議增加一個新屬性「adjusted_title」每個對象
for item in your_query_set:
if(len(item.title) > 40):
item.adjusted_title = item.title[0:40] + "..."
這可以工作,但可能意味着通過查詢集進行不必要的循環。將模型中的邏輯放在模型中的方法可能會更好,就像我建議要保存一個不必要的循環,並且在其他地方需要邏輯。 – sheats 2009-11-19 15:47:26
- 1. 修改查詢結果與PHP
- 2. 查詢後修改odata結果
- 3. 查詢結果數組修改
- 4. 修改在SQL查詢更多結果
- 5. 例外:查詢結果集是不可修改
- 6. 查詢特定結果集
- 7. MySQL查詢結果集
- 8. 查詢Lavavel結果集
- 9. Mysql - 修改結果數據集
- 10. 修改查詢結果集,以包括範圍內的所有日期
- 11. 初學者:檢查查詢集結果
- 12. 在django中修改默認查詢集
- 13. 多個表和修改的查詢集
- 14. 我如何修改MongoDB查詢以適應集合結構
- 15. 修改Linq結果
- 16. 修改SQL結果
- 17. 修改結果表
- 18. 從DB2查詢中修剪結果
- 19. 修改遞歸查詢結果限制爲一棵樹
- 20. 如何修改我的查詢以獲得所需的結果?
- 21. 修改彈性搜索查詢的結果列
- 22. 修改sql查詢以提供不同的結果
- 23. 修改SQL查詢來得到不同的結果
- 24. SQLite3 - 修改查詢以輸出單行總計結果
- 25. 如何解析SQL查詢結果並使用C#修改它?
- 26. 如何在返回之前修改Rails ActiveRecord查詢結果?
- 27. 已修改的SQL查詢不顯示所有結果
- 28. 大型Mysql查詢(加入結果並修改字符串)
- 29. Hibernate JPA本機查詢結果集
- 30. 錯誤結果集的MySQL查詢
你是想保存這些更改到數據庫,或者只顯示他們的網頁上? – sheats 2009-11-19 15:22:27