0

我有两个与多对多关系相关的 django 模型。

第一个模型:

class Category(models.Model):

   name = models.CharField(max_length=255)
   products = models.ManyToManyField(Product, related_name='categories',
                                  blank=True, null=True,
                                  verbose_name=_('Products'),
                                  )

第二个模型:

class Product(models.Model):

    description = models.TextField(verbose_name=_('Description'), default='')
    manifactor = models.CharField(verbose_name=_('Manifactor'), default='Blackberry', max_length=255)

好的,所以:

product = Product.objects.all()[0]
product.categories  - give me a list of categories for this product.

但:

product._meta.many_to_many - return empty list [].
and product._meta.get_field('categories') - return None.

为什么 ?

如何从产品对象中获取类别字段的详细名称?

4

1 回答 1

2

你可以加

categories = models.ManyToManyField(Category, 
                                    through=Category.products.through)

到您的产品型号

于 2012-10-04T10:20:17.653 回答