3

これを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

ビュー.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 で返されません。というか、イメージ通りにしたい

4

1 に答える 1

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

詳細については、ドキュメントを参照してください。

于 2013-08-07T18:51:45.747 に答える