我希望我的模型具有两个字符串表示形式:一个显示在后端日志中用于调试目的,另一个清晰的表示形式在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. Django:从字符串获取模型?
- 4. 显示django表中的模型字段
- 5. Django:列表中的字符串(模板)
- 6. 类型文字的字符串表示
- 7. Laravel显示 “字符串()” 时,从模型
- 8. django访问模型字段的字符串
- 9. django模板中的字符串的子字符串
- 10. Django串行器显示模型字段作为字典
- 11. 将django模型字符串字段作为str代替unicode
- 12. 字符串表示
- 13. 字符串表示
- 14. Django Form字段的字符串列表
- 15. django autocomplete_light可以显示比模型的字符串表示更多的东西吗?
- 16. Django的模板格式字符串
- 17. Django模板中的字符串操作
- 18. Django的URL模式 - 字符串参数
- 19. 模板中的随机字符串django
- 20. Django模型中可空的TextField或空字符串?
- 21. 来自ISO8601时间戳字符串的Django模型DateTimeField
- 22. django在模型中的天数表示
- 23. Django的字符串
- 24. lambda的字符串表示
- 25. 如何显示包含django模板变量的字符串?
- 26. Django的模板显示项目值或空字符串
- 27. Django的,型号列表中列出的字符串
- 28. django模板,查找字符串替换为其他字符串
- 29. 如何在C#中表示(字符串,字符串[],字符串[])#
- 30. Django表单模型中的DateTime字段
事实上,`__repr__`用于调试/内部表示,要么`__unicode__`或`__str__`用于一般用途。这应该有更多upvotes。 – 2014-10-09 10:55:13