Customizing a Django Admin panel, I'm using raw_id_fields
to select a ForeignKey from a Model which has thousands of elements, because the default select-box drop-down is inconvenient with so many elements.
It works but it shows the id as can be seen on this image:
Is there any way to show the name or other field instead of the id? Or, is there any better way to accomplish this than using raw_id_fields
?
This is my code in 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)
In admin.py
:
class StructureAdmin(tree_editor.TreeEditor):
search_fields = ('name',)
raw_id_fields = ('parent',)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…