Как настроить встроенную модель many-many в django администраторе

Я использую администраторский интерфейс для просмотра счетов и продуктов. Для создания вещей легкими я установил продукты как встроенные к счетам, таким образом, я буду видеть сопутствующие товары в форме счета. Поскольку Вы видите, что я использую many-many отношения.

В models.py:

class Product(models.Model):
    name  = models.TextField()
    price = models.DecimalField(max_digits=10,decimal_places=2)

class Invoice(models.Model):
    company  = models.ForeignKey(Company)
    customer = models.ForeignKey(Customer)
    products = models.ManyToManyField(Product)

В admin.py:

class ProductInline(admin.StackedInline):
    model = Invoice.products.through

class InvoiceAdmin(admin.ModelAdmin):
    inlines = [FilteredApartmentInline,]
admin.site.register(Product, ProductAdmin)

Проблема состоит в том, что django представляет продукты как таблицу выпадающих меню (один на связанный продукт). Каждый выпадающий содержит все перечисленные продукты. Таким образом, если у меня есть 5 000 продуктов, и 300 связаны с определенным счетом, django на самом деле загружается 300x5000 названия продукта. Также таблица не эстетична.

Мне не нужны продукты, чтобы быть обновляемым через форму счета. Как я могу изменить его так, чтобы это просто отобразило имя продукта во встроенной таблице? Какую форму я должен переопределить, и как?

6
задан Jonathan 23 May 2010 в 23:36
поделиться