¿Cómo muestro una lista de búsquedas inversas de ForeignKey en la interfaz de administración de DJango?
django-admin foreign-keys (1)
De forma predeterminada, un ModelAdmin solo le permitirá administrar el modelo "en sí mismo", no modelos relacionados. Para editar el modelo de unidad relacionado, debe definir un "InlineModelAdmin", como admin.TabularInline, y adjuntarlo a su CustomerAdmin.
https://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-objects
Por ejemplo, en su admin.py:
from django.contrib import admin
from models import Customer, Unit
class UnitInline(admin.TabularInline):
model = Unit
class CustomerAdmin(admin.ModelAdmin):
inlines = [
UnitInline,
]
admin.site.register(Customer, CustomerAdmin)
Tengo un par de modelos:
class Customer(models.Model):
customer_name = models.CharField(max_length=200)
def __unicode__(self):
return self.customer_name
class Meta:
ordering = (''customer_name'',)
class Unit(models.Model):
unit_number = models.IntegerField()
rentable = models.BooleanField()
owner = models.ForeignKey(Customer, related_name=''units'', blank=True, null=True)
def __unicode__(self):
return str(self.unit_number)
class Meta:
ordering = (''unit_number'',)
Tengo la interfaz de administrador funcionando bien cuando estoy agregando una unidad (puedo seleccionar a qué cliente asignarle) pero cuando voy a crear / editar un cliente en la interfaz de administración de DJango, no aparece ninguna unidad para elegir. desde. ¿Cómo puedo habilitar la búsqueda en esa sección para que coincida con la del área de creación / edición de clientes?