Django 创建多个对象的字符串

Django 创建多个对象的字符串,django,Django,我有这样的想法: class Basket(models.Model): owner = models.ForeignKey(User, related_name='user_basket', verbose_name='Owner') name = models.CharField("Basket_Name", max_length=30) products = models.ManyToManyField('Product', through='BasketProdu

我有这样的想法:

class Basket(models.Model):
    owner = models.ForeignKey(User, related_name='user_basket', verbose_name='Owner')
    name = models.CharField("Basket_Name", max_length=30)
    products = models.ManyToManyField('Product', through='BasketProduct', blank=True, null=True)

class BasketProduct(models.Model):
    product = models.ForeignKey('Product')
    basket = models.ForeignKey('Basket')
    quantity = models.IntegerField()
我尝试从用户
购物篮中获取所有产品,并以“Notebook-2、PC-5、Phone-1”的形式创建它们的价格和名称字符串

我的尝试:

user = request.user
b = Basket.objects.filter(owner=user)
bp = BasketProduct.objects.filter(basket=b)

for a in bp:
    a = '%s - %s' % (a.product, a.quantity)
    print a
在shell中返回类似于以下内容的内容:

[06/Oct/2012 19:44:41] "GET /list/ HTTP/1.1" 200 0
PC - 3 #single object
Notebook - 1 #second single object
我需要:string=“PC-3,笔记本-1”


请帮助

您可以完成您已经在做的前三项陈述。然后,通过在前三条语句生成的queryset上循环返回的中间结果数组:

', '.join(['%s - %s' % (a.product, a.quantity) for a in bp])