Personalizzando un pannello di amministrazione di Django, sto utilizzando raw_id_fields per selezionare una chiave esterna da un modello che contiene migliaia di elementi, perché il menu a discesa di selezione predefinita della casella è scomodo con così tanti elementi.raw_id_fields: come mostrare un nome invece di id?
Funziona ma dimostra l'id come si può vedere in questa immagine:
C'è un modo per mostrare il nome o altro campo anziché l'id? Oppure, c'è un modo migliore per farlo, rispetto all'utilizzo di raw_id_fields?
Grazie!
**** **** Aggiornamento
Questo è il mio codice 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',)
http://stackoverflow.com/questions/2809122/how-to-show-raw-id-value-of-a-manytomany-relation-in-the-django-admin – catherine
se vuoi semplicemente sbarazzarti di enormi dati, il caricamento e la modifica non sono necessari, usa 'readonly_fields = ('parent',)'. – Ali