Questions tagged «django-admin»

Django的内置自动管理界面(django.contrib.admin),它是Python编程语言的Django Web框架的一部分。

13
Django ModelAdmin中的“ list_display”可以显示ForeignKey字段的属性吗?
我有一个Person模型,它与有一个外键关系Book,该模型有许多字段,但我最关心的是author(标准CharField)。 话虽如此,在我的PersonAdmin模型中,我想book.author使用显示list_display: class PersonAdmin(admin.ModelAdmin): list_display = ['book.author',] 我已经尝试了所有显而易见的方法来执行此操作,但是似乎没有任何效果。 有什么建议么?

13
Django auto_now和auto_now_add
对于Django 1.1。 我的models.py中有这个: class User(models.Model): created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) 更新行时,我得到: [Sun Nov 15 02:18:12 2009] [error] /home/ptarjan/projects/twitter-meme/django/db/backends/mysql/base.py:84: Warning: Column 'created' cannot be null [Sun Nov 15 02:18:12 2009] [error] return self.cursor.execute(query, args) 我数据库的相关部分是: `created` datetime NOT NULL, `modified` datetime NOT NULL, 这值得关注吗? 附带问题:在我的管理工具中,这两个字段没有显示。那是预期的吗?

1
如何在Django中使多对多字段为可选?
当您具有多对多关系(related_name,而不是through)并且尝试使用管理界面时,即使您不必创建第一个条目,也需要输入其中一个关系。 我正在创建一个作为活动组织者的应用。想象一下,我们拥有Event和Group模型,并具有多对多关系。 Django使用related_name另外两个表的索引创建另一个表。 但我看不出为什么这个额外的表已经被填充。 如果我通过phpMyAdmin使用数据库,则可以创建一个Group而无需注册Event,因为两者之间的连接仅通过单独的表进行,并且在给定级别上没有数据库值强制实​​施。 我该如何实现管理界面? 如何在Django中使多对多字段为可选?


9
获取对象的Django管理url
在Django 1.0之前,有一种简单的方法来获取对象的管理url,并且我编写了一个小过滤器,如下所示: <a href="{{ object|admin_url }}" .... > ... </a> 基本上我使用的是URL反向功能,视图名称为 'django.contrib.admin.views.main.change_stage' reverse( 'django.contrib.admin.views.main.change_stage', args=[app_label, model_name, object_id] ) 获取网址。 您可能已经猜到了,我正在尝试更新到最新版本的Django,这是我遇到的障碍之一,用于获取管理url的方法不再起作用。 如何在Django 1.0中执行此操作?(或者是1.1,因为我正在尝试更新为svn中的最新版本)。

2
Django管理员中同一模型的多个ModelAdmins /视图
如何为同一个模型创建一个以上的ModelAdmin,每个ModelAdmin进行不同的自定义并链接到不同的URL? 假设我有一个称为Posts的Django模型。默认情况下,此模型的admin视图将列出所有Post对象。 我知道我可以通过设置变量(例如list_display)或queryset在ModelAdmin中重写方法来以各种方式自定义页面上显示的对象列表: class MyPostAdmin(admin.ModelAdmin): list_display = ('title', 'pub_date') def queryset(self, request): request_user = request.user return Post.objects.filter(author=request_user) admin.site.register(MyPostAdmin, Post) 默认情况下,可以通过URL访问/admin/myapp/post。但是我想拥有同一模型的多个视图/ ModelAdmins。例如,/admin/myapp/post将列出所有帖子对象,并/admin/myapp/myposts列出属于该用户的/admin/myapp/draftpost所有帖子,并可能列出尚未发布的所有帖子。(这些只是示例,我的实际用例更加复杂) 您不能为同一模型注册多个ModelAdmin(这将导致AlreadyRegistered异常)。理想情况下,我希望不将所有内容放入单个ModelAdmin类中并编写自己的“ urls”函数以根据URL返回不同的查询集来实现这一点。 我看了看Django的源代码,发现ModelAdmin.changelist_view在urls.py中可以包含这样的函数,但是我不确定它是如何工作的。 更新:我找到了一种实现自己想要的方式(见下文),但是我仍然想听听其他实现方式。

2
Django修复管理员复数
在新的dev django版本中,如何在管理网站上将某些型号名称从“类别”更改为“类别”?在旧版本中(没有管理站点和管理模型),您可以执行此操作; http://www.the-dig.com/blog/post/customize-plural-name-django-admin/ 但是-现在在基于模型管理的类中设置verbose_name_plural不会执行任何操作。有人遇到同样的问题吗?

5
Django Admin-禁用特定模型的“添加”操作
我有一个包含很多模型和表格的django网站。我有许多自定义表单和表单集以及inlineformsets和自定义验证和自定义查询集。因此,添加模型操作取决于需要其他内容的表单,并且Django管理员中的“添加模型”通过自定义查询集中的500进行操作。 无论如何,对于某些型号,是否禁用“添加$ MODEL”功能? 我想/admin/appname/modelname/add/给出一个404(或适当的“ goaway”错误消息),我不希望显示“ Add $ MODELNAME”按钮/admin/appname/modelname。 Django管理员提供了一种禁用管理员操作的方法(http://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/#disabling-actions),但是此模型的唯一操作是“ delete_selected”。即,管理员操作仅作用于现有模型。有一些Django风格的方法来做到这一点吗?

11
如何覆盖和扩展基本的Django管理模板?
如何覆盖管理模板(例如admin / index.html),同时扩展它(请参阅https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing -an-admin-template)? 首先-我知道这个问题已经被问过并回答过(请参阅Django:覆盖和扩展应用程序模板),但是正如答案所言,如果您使用的是app_directories模板加载器(这是大多数时间)。 我当前的解决方法是制作副本并从中扩展,而不是直接从管理模板扩展。这很好用,但是确实很混乱,并且在管理模板更改时增加了额外的工作。 它可能会想到一些针对模板的自定义扩展标签,但如果已有解决方案,我不想重新发明轮子。 附带说明一下:有人知道Django本身是否可以解决此问题?

1
list_display-方法的布尔图标
在为ModelAdmin类定义list_display数组时,如果指定BooleanField或,NullBooleanField则UI将使用外观漂亮的图标代替该列中的True / False文本。但是,如果给出了一个返回布尔值的方法,它只会打印出True / False。 有没有办法让它使用漂亮的图标作为布尔方法?

3
Django admin:如何按没有数据库字段的自定义list_display字段之一进行排序
# admin.py class CustomerAdmin(admin.ModelAdmin): list_display = ('foo', 'number_of_orders') # models.py class Order(models.Model): bar = models.CharField[...] customer = models.ForeignKey(Customer) class Customer(models.Model): foo = models.CharField[...] def number_of_orders(self): return u'%s' % Order.objects.filter(customer=self).count() 如何根据客户对客户进行分类number_of_orders? admin_order_field属性不能在这里使用,因为它需要一个数据库字段进行排序。由于Django依赖底层数据库执行排序,这有可能吗?创建一个包含订单数量的汇总字段似乎在这里是过大的。 有趣的是:如果您在浏览器中手动更改url以在此列上进行排序-它将按预期工作!

9
Django“ xxxxxx对象”在管理操作侧栏中显示自定义
我想更改管理员最近更改侧边栏显示添加的“对象”名称的默认行为。请参考下图: 我想更改这些在管理员中的命名方式。理想情况下,我希望能够将其从“ MyModelName对象”更改为“ Policy”对象示例中的内容,例如“ Policy:{{策略“ Policy Name”字段的值。}}。 我当时以为__unicode__我的患者模型可以解决此问题,但事实并非如此。任何帮助表示赞赏。

14
在Django Admin中调整字段大小
Django倾向于在管理员上添加或编辑条目时填充水平空间,但是在某些情况下,这是真正的空间浪费,例如,编辑日期字段(8个字符宽)或CharField(也可以是6或8)字符宽,然后编辑框最多为15或20个字符。 如何告诉管理员文本框的宽度或TextField编辑框的高度?

4
更好的Django Admin ManyToMany字段小部件
我发现Django Admin的默认models.ManyToManyField小部件使用起来很麻烦。这是HTML select元素,如果您有很多“其他”模型的对象,那么实际上找不到要与“此”对象关联的“其他”对象是不切实际的。而且,如果您有许多 “其他”模型的对象,它甚至会减慢“管理”页面的呈现速度。 我知道我可以构建自己的自定义管理窗口小部件并将其应用到我ManyToManyFields认为合适的位置,但是那里是否有可以用来代替的预构建窗口?在我的梦中,我描绘了一个自动完成的文本输入HTML小部件。在Django管理框架中甚至可行/可行吗? 谢谢。

3
Django模型中字段的默认值
假设我有一个模型: class SomeModel(models.Model): id = models.AutoField(primary_key=True) a = models.CharField(max_length=10) b = models.CharField(max_length=7) 目前,我正在使用默认的admin创建/编辑此类型的对象。如何b从管理员中删除该字段,以使每个对象都无法创建一个值,而是会收到默认值0000000?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.