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
Tôi có mã đó. Thật không may, lỗi do thỏa thuận hợp admin.py với ManyToManyField
nhiều người trong danh sách hiển thị django
class PurchaseOrderAdmin(admin.ModelAdmin):
fields = ['product', 'dollar_amount']
list_display = ('product', 'vendor')
Lỗi nói:
'PurchaseOrderAdmin.list_display [0]', 'sản phẩm' là một ManyToManyField mà không được hỗ trợ.
Tuy nhiên, nó biên dịch khi tôi lấy 'product'
ra khỏi list_display
. Vậy làm thế nào tôi có thể hiển thị 'product'
trong list_display
mà không đưa ra lỗi?
chỉnh sửa: Có thể câu hỏi hay hơn sẽ là cách bạn hiển thị ManyToManyField
trong list_display
?
này trông giống như một giải pháp thực sự tốt. Cảm ơn bạn. Mặc dù, bây giờ tôi nhận được một lỗi nói rằng "giá trị null trong cột" product_id "vi phạm ràng buộc không null " Bất kỳ ý tưởng điều này có nghĩa là gì? – Mdjon26
Đó có thể là vấn đề về dữ liệu. Kiểm tra các giá trị trong cơ sở dữ liệu – karthikr
Vì điều này làm giảm cơ sở dữ liệu xuống đầu gối của nó, bạn sẽ làm như thế nào với select_related() hoặc prefetch_related() để cải thiện hiệu suất? – gorus