【发布时间】:2013-02-17 20:56:11
【问题描述】:
自定义一个 Django 管理面板,我正在使用 raw_id_fields 从具有数千个元素的模型中选择一个 ForeignKey,因为默认的选择框下拉列表不方便使用这么多元素。
它可以工作,但它显示的 id 可以在这张图片上看到:
有没有办法显示名称或其他字段而不是 id?或者,有没有比使用raw_id_fields 更好的方法来实现这一点?
这是我在models.py中的代码:
class Structure(MPTTModel):
name = models.CharField(max_length=200, unique=True, verbose_name = _('name'))
parent = TreeForeignKey('self', null=True, blank=True, related_name='children', verbose_name = _('parent'))
def __unicode__(self):
return u"%s" % (self.name)
在admin.py:
class StructureAdmin(tree_editor.TreeEditor):
search_fields = ('name',)
raw_id_fields = ('parent',)
【问题讨论】:
-
如果您只是想摆脱不需要加载和编辑的大量数据,请使用
readonly_fields = ('parent', )。
标签: python django django-admin