擅长:python、mysql、java
<p>根据我的判断,django管理员在方法(用作字段)中遇到异常时似乎会无声地失败</p>
<p>在第一个示例中,问题似乎是<code>self.request</code>,因为<code>CarProductDataAdmin</code>实例没有<code>request</code>属性。因此,不会引发异常,而是不会向字段返回任何值,从而导致输出“-”</p>
<p>如果您需要<code>request</code>,您必须从某处获取它,并将其保存在<code>ModelAdmin</code>中以供重复使用。可能通过覆盖ModelAdmin的<code>get_form</code>方法</p>
<pre><code>class CarProductDataAdmin(admin.ModelAdmin):
# ....
def get_form(self, request, obj=None, change=False, **kwargs):
self.request = request
return super().get_form(request, obj, change, **kwargs)
</code></pre>
<p>然后您应该能够使用代码中发布的<code>car_name</code>方法</p>