我希望我的模型具有兩個字符串表示形式:一個顯示在後端日誌中用於調試目的,另一個清晰的表示形式在HTML中表示時顯示給最終用戶。現在,我只是重寫__unicode__()
。有沒有辦法做到這一點?Django:模型的字符串表示
8
A
回答
16
您也可以嘗試__repr__
和__str__
用於記錄/調試目的。這是可能的(至少它應該是這樣),你的記錄器/調試器使用repr(object)
來記錄你的對象。
7
使用性能
class SomeThing(models.Model):
foo=
bar=
baz=
def __unicode__(self):
return "{0} {1}".format(self.foo, self.bar)
@property
def details(self):
return repr(dict(foo=self.foo, bar=self.bar, baz=self.baz))
現在,您可以登錄someObject.details
+0
那`__repr__`屬性呢?可以以某種方式使用它嗎?因此`__unicode__`可以很好地顯示例如管理員,`細節`很好轉儲對象到日誌? – Tjorriemorrie 2014-08-05 14:42:47
相關問題
- 1. Django模型問題:不返回模型字符串表示名稱
- 2. Django:從字符串獲取模型?
- 3. 類型文字的字符串表示
- 4. Laravel顯示 「字符串()」 時,從模型
- 5. django模板中的字符串的子字符串
- 6. Django串行器顯示模型字段作爲字典
- 7. 字符串表示
- 8. 字符串表示
- 9. django autocomplete_light可以顯示比模型的字符串表示更多的東西嗎?
- 10. Django模板中的字符串操作
- 11. Django的URL模式 - 字符串參數
- 12. Django模型中可空的TextField或空字符串?
- 13. 來自ISO8601時間戳字符串的Django模型DateTimeField
- 14. django在模型中的天數表示
- 15. lambda的字符串表示
- 16. Django的字符串
- 17. Django的模板顯示項目值或空字符串
- 18. 如何顯示包含django模板變量的字符串?
- 19. 如何在C#中表示(字符串,字符串[],字符串[])#
- 20. django模板,查找字符串替換爲其他字符串
- 21. Django的,型號列表中列出的字符串
- 22. Django表單模型中的DateTime字段
- 23. 將表單CharField類型轉換爲Django中的字符串
- 24. Django:在JSON字符串中包含相關模型?
- 25. Django模型。什麼更快:按字符串或整數過濾?
- 26. django模型元類的標準文檔字符串是什麼?在Django
- 27. 在HTML中顯示Django模型字段
- 28. Django Admin。顯示非模型字段
- 29. Django模板 - 格式化字符串
- 30. 在模板中轉換Django字符串
事實上,`__repr__`用於調試/內部表示,要麼`__unicode__`或`__str__`用於一般用途。這應該有更多upvotes。 – 2014-10-09 10:55:13