Django管理raw_id_fields表显示

标签 django django-admin

Django raw_id_fields 没有按照我期望的方式显示表格,我做错了什么吗?我正在尝试使用 raw_id_fields 小部件来编辑外键字段,如下所示:

#models.py
class OrderLine(models.Model):
    product = ForeignKey('SternProduct')

class SternProduct(models.Model):
    def __unicode__(self): return self.product_num
    product_num = models.CharField(max_length=255)

#admin.py
#import and register stuff  
class OrderLineAdmin(admin.ModelAdmin):  
    raw_id_fields=('product')  

我按预期得到了小文本框和放大镜小部件,但是单击放大镜会给我这个: flickr.com/photos/28928816@N00/5244376512/sizes/o/in/photostream/
(抱歉,显然无法发布多个超链接)

我想我会得到一些更接近更改列表页面的内容,包括列、过滤器和搜索字段。事实上,这显然是what others get .

关于如何启用功能更强大的小部件有什么想法吗?

最佳答案

啊,好吧,这应该是显而易见的,但 Django 文档中没有对此进行解释。 raw_id_fields 弹出窗口中显示的列表使用与引用模型的管理对象相同的选项。因此,在我的示例中,为了获得漂亮的弹出窗口,我需要创建一个 SternProductAdmin 对象,如下所示:

class SternProductAdmin(admin.ModelAdmin):
    list_display = ('__unicode__', 'drawing_number', 'drawing_revision',)
    list_filter = ('drawing_number',)
    search_fields = ('drawing_number',)
    actions = None

希望这能在未来帮助其他人。

关于Django管理raw_id_fields表显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4390090/

相关文章:

django - 如何在 django admin 中更新 jquery 版本

python - 在 django admin 中对模型中的自定义字段进行排序

python - Django pre_delete 信号被忽略

Django 测试 client.get() 返回 302 代码而不是 200

django - 如何使用 ForeignKeyRawIdWidget

django - 集成 Django 和 Twitter Bootstrap

django + nginx https 重定向显示 (414 Request-URI Too Large)

django - 在表单 clean() 方法中获取 POST 变量

django - 限制 Django 管理员更改权限

python - Django 管理屏幕不按名称显示实体