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/