django admin/inline 中的只读字段
我使用 此片段 将我的管理后端中的几个字段显示为只读,但如注释,它不适用于 stackedinline/tabularinline。还有其他方法可以实现这一目标吗?我有一个附加到模型的对象列表,只想在模型的详细信息视图中显示它,而无法更改值。
I use this snippet to show several fields in my admin backend as readonly, but as noticed in the comments, it does not work on stackedinline/tabularinline. Is there any other way to achieve this? I have a list of objects attached to a model and just want to show it in the model's details view without the possibility to change values.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您运行的是 Django 1.3 或更高版本;有一个名为 ModelAdmin.readonly_fields< 的属性/a> 你可以使用它。
InlineModelAdmin
继承自ModelAdmin
,因此您应该能够从内联子类中使用它。If you are running Django 1.3 or later; there's an attribute named ModelAdmin.readonly_fields which you could use.
InlineModelAdmin
inherits fromModelAdmin
, so you should be able to use it from your inline subclass.我今天遇到了同样的问题。这是我的解决方案。这是foreignkey值的只读字段的示例:
I've encountered the same problem today. Here is my solution. This is example of read-only field for the ForeignKey value:
与 JQuery 的情况一样,似乎您可以通过更改名为“disabled”的 attr 来实现此目的(在我的 Safari 中有效,好吧,我们现在已经是 2013 年了:-))。
下面的例子:
As is the case with JQuery, it seems you can achieve this by changing an attr called "disabled" (works in my Safari, OK we're now in 2013 :-) ).
Example below: