在我的Django应用程序中,我有一个Attribute模型,该模型与MeasurementMethod模型具有多对多关系。
我在Attribute的管理界面中插入了MeasurementMethod的内联,但是我认为完全没有单独的界面来管理MeasurementMethods是有用的。用户没有理由说:“天哪,我想知道可以通过排水量来测量哪些属性。”
但是,直到找到Anton Belonovich的帖子,即我需要admin.site.register(MeasurementMethod)
先进行操作,这才使从内联编辑器创建新的MeasurementMethods的方法上消失了。我做到了,并且确定已经出现了编辑和创建按钮。
但是现在在管理页面上,那里有可以管理的应用程序和模型的列表,这里有一个我不需要的MeasurementMethod条目。
有办法摆脱它吗?还是有更好的方法来做到这一点?
解决方案是使用覆盖has_module_permission
以下内容的自定义管理类注册MeasurementMethod类:
@admin.register(MeasurementMethod)
class MeasurementMethodAdmin(admin.ModelAdmin):
def has_module_permission(self, request):
return False
然后,仍可以内联编辑类。
ModelAdmin.has_module_permission(request)
如果在管理索引页面上显示模块并允许访问模块的索引页面,则应返回True,否则返回False。...覆盖它并不限制对添加,更改或删除视图的访问...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句