django,get_field名称有很多关系

时间:2012-10-04 09:59:13

标签: django many-to-many

我有两个与许多关系相关的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.

为什么?

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

1 个答案:

答案 0 :(得分:2)

您可以添加

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

到您的产品型号