ฉันใช้อินเทอร์เฟซผู้ดูแลระบบเพื่อดูใบแจ้งหนี้และผลิตภัณฑ์ เพื่อให้สิ่งต่างๆ ง่ายขึ้น ฉันได้ตั้งค่าผลิตภัณฑ์เป็นแบบอินไลน์ในใบแจ้งหนี้ ดังนั้นฉันจะดูผลิตภัณฑ์ที่เกี่ยวข้องในแบบฟอร์มใบแจ้งหนี้ อย่างที่คุณเห็นว่าฉันกำลังใช้ความสัมพันธ์แบบกลุ่มต่อกลุ่ม
ใน 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 จริงๆ โต๊ะก็ไม่สวยงามเช่นกัน
ฉันไม่ต้องการให้สินค้าอัปเดตผ่านแบบฟอร์มใบแจ้งหนี้ ฉันจะเปลี่ยนให้แสดงชื่อผลิตภัณฑ์ในตารางอินไลน์ได้อย่างไร ฉันควรแทนที่แบบฟอร์มใด และอย่างไร