class PurchaseOrder(models.Model):
product = models.ManyToManyField('Product')
vendor = models.ForeignKey('VendorProfile')
dollar_amount = models.FloatField(verbose_name='Price')
class Product(models.Model):
products = models.CharField(max_length=256)
def __unicode__(self):
return self.products
Ich habe diesen Code. Leider kommt der Fehler in admin.py mit dem ManyToManyField
viele-zu-viele in der liste display django
class PurchaseOrderAdmin(admin.ModelAdmin):
fields = ['product', 'dollar_amount']
list_display = ('product', 'vendor')
Der Fehler sagt:
'PurchaseOrderAdmin.list_display [0]', 'Produkt' ein ManyToManyField ist die nicht unterstützt wird.
Allerdings kompiliert es, wenn ich 'product'
aus list_display
nehme. Wie kann ich 'product'
in list_display
anzeigen, ohne Fehler zu geben?
bearbeiten: Vielleicht wäre eine bessere Frage, wie Sie eine ManyToManyField
in list_display
anzeigen?
Diese wie eine wirklich gute Lösung aussieht. Vielen Dank. Obwohl ich jetzt eine Fehlermeldung bekomme, die besagt, dass "Nullwert in der Spalte" product_id "die Nicht-Null-Bedingung verletzt " Irgendeine Idee, was das bedeutet? – Mdjon26
Das könnte ein Datenproblem sein. Überprüfen Sie die Werte in der Datenbank – karthikr
Da dies die Datenbank in die Knie geht, wie würden Sie es mit select_related() oder prefetch_related() tun, um die Leistung zu verbessern? – gorus