我有这个作为我的django显示器
执行此操作的代码是:
class PurchaseOrder(models.Model):
product = models.ManyToManyField('Product', null =True)
def get_products(self):
return "\n".join([p.products for p in self.product.all()])
class Product(models.Model):
products = models.CharField(max_length=256, null =True)
def __unicode__(self):
return self.products
views.py:
class PurchaseOrderAdmin(admin.ModelAdmin):
fields = ['product']
list_display = ('get_products')
所以我试图这样做:
from django.utils.html import format_html
def get_products(self):
return format_html(" <p> </p>").join([p.products for p in self.product.all()])
然而,它仍然没有以HTML格式返回它。或者更确切地说,我想要它在图像中的方式
答案 0 :(得分:2)
您需要设置字段以允许HTML的标记显示在管理列表显示中:
class PurchaseOrder(models.Model):
product = models.ManyToManyField('Product', null =True)
def get_products(self):
return "<br />".join([p.products for p in self.product.all()])
get_products.allow_tags = True
有关详细信息,请参阅the docs。