Django admin:默认模型显示问题
在 django 模型中,如果我们有def __unicode__(self):
然后它将用作默认显示模型的方式
现在在 django admin 中,我想要一个自定义显示字段(将此对象显示为 url,以便可以导航到此对象),但我无法更改用于其他目的的 unicode 方法。我该怎么办?
In django models, if we havedef __unicode__(self):
then it will be used as how you want to display the model by default
Now in django admin, I want to have a custmized display field(showing this object as an url so can navigate to this object), but I can't change unicode method for it used for other purpose. What do I supposed to do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不要将
__unicode__
用于设置便捷 URL 等目的。这将掩盖您打印的对象名称以用于任何其他目的。
您尝试从哪个视图创建链接?从变更列表视图?从变化来看?来自外键?
一般来说,您可以简单地在模型(或
ModelAdmin
)上定义任何方法,返回完整的 HTML 链接,设置
allow_tags = True
,并在您的管理字段中引用它。Don't use
__unicode__
for a purpose like setting a convenience URL.That will obscure your printed object name for any other purpose.
From which view are you trying to create a link? From the changelist view? From the change view? From a foreign key?
In general, you can simply define any method on your model (or
ModelAdmin
), that returns a full HTML link<a href=
, setallow_tags = True
, and refer to it in your admin fields.我同意这些答案,但在我的机器上不起作用。
我正在使用Python3和Django1.8,并尝试使用这个。
I agree with those answers, but on my machine just not working.
I was using Python3 and Django1.8, and try to use this.
您可以为管理类创建自定义方法
这只是非常简单的示例,因此您可以将逻辑放入此函数中
您还可以返回一些html代码
You can create a custom method for admin class
This is just very simple example, so you can put your logic into this function
You can also return some html code