Django raw_id_fields不按我期望的方式显示表格,我做错了什么?我正在尝试使用raw_id_fields小部件来编辑ForeignKey字段,如下所示:
#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 /
(抱歉,显然不能发布多个超链接)
我以为我会更接近更改列表页面的c / w列,过滤器和搜索字段。事实上,这显然是what others get。
有关如何启用功能更强大的小部件的任何想法?
答案 0 :(得分:7)
啊,好吧,这应该是显而易见的,但在Django文档中没有解释。 raw_id_fields弹出窗口中显示的列表使用与引用模型的admin对象相同的选项。所以在我的例子中,为了获得一个漂亮的弹出窗口,我需要创建一个SternProductAdmin对象,如下所示:
class SternProductAdmin(admin.ModelAdmin):
list_display = ('__unicode__', 'drawing_number', 'drawing_revision',)
list_filter = ('drawing_number',)
search_fields = ('drawing_number',)
actions = None
希望这将有助于其他人。