2011-07-21 13 views
0

我有一个模型,我不希望用户手动添加/删除对象。相反,我想要一些Get按钮,一旦点击后,它会执行一些代码并自动更新数据库。 我能够通过添加我自己的管理操作来做类似的事情。但是,默认添加管理员操作意味着您必须至少有一个模型对象,选择该对象并执行一些操作。 我希望能够在空模型上执行我的自定义操作(如果我可以用索引页上的Get按钮替换Add按钮,它将会是完美的)。有没有办法做到这一点?谢谢!替换添加获取Django管理网站

回答

0

你可以覆盖django管理模型的add_view方法,并做任何你觉得有视图做的事情,如果你想。通过ModelAdmin的代码打开,你可以看到它的默认设置

你也可以看看这个项目:https://github.com/imtapps/django-admin-ext,看看如何注册一个管理员自己的网址的例子...所以你可以让你的看法类似于admin/myproject的/ MYAPP /模型/获取和拥有它,你想什么......

0
  1. 您可以防止用户通过删除“可以添加MODELNAME”允许添加新对象来自该用户。如果他们是一个超级用户,但实际上并不会阻止他们这样做。

  2. 管理员操作旨在在模型的特定实例上运行;如果这不是你的代码在做什么,你可能不应该走这条路。您可以为您的模型override the admin template并添加一个新的按钮或链接到您的自定义视图。您也可以从模板中删除添加按钮,但我建议使用权限。