|
|
1
4
你可以自由地做任何你想做的事。如果你想自定义Django管理员,那就去吧,但一旦你偏离了典型的管理员修改路径,你可能就不会得到邮件列表和IRC的很好支持。 generic create/edit/delete 和 generic details/list 视图——它们将非常快速地公开您所需的基本功能,并且比管理员更容易扩展。
|
|
|
2
2
我之前已经让django应用程序在不修改实际管理代码的情况下做到了这一点。而是通过创建admin的子类。ModelAdmin的几个方法都扩展了查询集过滤器。这将仅显示用户拥有的记录(在这种情况下,业务是AUTH_PROFILE_MODEL)。网络上有各种各样的博客,介绍如何实现这一目标。 您可以使用此技术筛选列表、表单选择框、表单字段验证保存等。 到目前为止,它已经从NFA存活到1.0到1.1,但这种方法很容易受到api变化的影响。 在实践中,我发现为应用程序中的新模型生成新的行级访问级别管理表单要快得多,因为我已经添加了它们。您只需使用用户fk创建一个新模型,子类化AdminFilterByBusiness,或者
如果它不需要任何定制。它工作,非常干燥。
下面的示例过滤器管理类灵感来自 http://code.djangoproject.co/wiki/NewformsHOWTO
|
|
|
3
1
Django更新事务的编写非常简单,尝试自定义管理员似乎比编写事务本身更费力。 我们的交易并不比表中显示的复杂多少 http://docs.djangoproject.com/en/dev/topics/forms/#using-a-form-in-a-view . 通常,我们的有事务的页面几乎总是包含工作流元素(或相关内容),这使得它们比内置的管理界面稍微复杂一些。除了样板之外,我们还有六行左右的额外代码。 我们的用例不是简单的添加/更改/删除,因此我们需要比默认管理应用程序提供的更多功能。 |