我在这里遇到一些问题!
我发现以下是全球接受的自定义Django管理字段的方法。
from django import forms
from django.utils.safestring import mark_safe
class AdminImageWidget(forms.FileInput):
"""
A ImageField Widget for admin that shows a thumbnail.
"""
def __init__(self, attrs={}):
super(AdminImageWidget, self).__init__(attrs)
def render(self, name, value, attrs=None):
output = []
if value and hasattr(value, "url"):
output.append(('<a target="_blank" href="%s">'
'<img src="%s" style="height: 28px;" /></a> '
% (value.url, value.url)))
output.append(super(AdminImageWidget, self).render(name, value, attrs))
return mark_safe(u''.join(output))
我需要访问模型的其他字段才能决定如何显示字段!
例如:
如果我要跟踪价值,请将其称为“销售”。
如果我希望根据其他字段自定义销售方式,请将其称为“转换率”。
在覆盖销售小工具时,我没有明显的方法来访问转换率字段!
任何解决此问题的想法都将受到高度赞赏!谢谢:))
答案 0 :(得分:1)
小部件本身是独立的,这是正确的。我做的更复杂的事情的第一个想法是提供一个自定义的管理模板,或者传入一段javascript代码来处理相互关联的字段(就像预填充字段的工作原理一样)。
答案 1 :(得分:1)
您可能想要使用custom form for the admin