0

私はコードを持っています:

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')

これにより 、次 のことがわかります。ただし、問題は、フォーマットが非常に醜いことです。どうすれば次のように取得できますか:

4

1 に答える 1

1

使用できますfilter_horizontal

 class PurchaseOrderAdmin(admin.ModelAdmin):
     list_display = ('get_products')
     filter_vertical = ['product']

または、次を使用できますinline

class ProductInline(admin.TabularInline):
     model = Product

 class PurchaseOrderAdmin(admin.ModelAdmin):
     inlines = (ProductInline,)
于 2013-08-07T17:17:54.310 に答える