我正在使用管理界面來查看發票和產品。爲了方便起見,我已將產品設置爲內置發票,因此我將以發票形式查看相關產品。正如你所看到的,我正在使用多對多的關係。如何在django admin中自定義多對多內聯模型
在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的呈現產品作爲降的表下拉菜單(每個相關聯的產品的一個)。每個下拉菜單都包含列出的所有產品。因此,如果我有5000個產品,300個與某個發票相關聯,那麼django實際上會加載300x5000個產品名稱。而且桌子不美觀。
我不需要通過發票形式更新產品。我怎樣才能改變它,以便它只顯示內聯表中的產品名稱? 我應該重寫哪種形式,以及如何?
在admin.py InvoiceAdmin它必須是內聯= [ProductInline] – Timo 2014-05-01 14:31:24