在模型上过滤时未定义全局名称

global name not defined when filtering on model

我是 django mptt 的初学者....提前致谢

class Category(MPTTModel):
    title = models.CharField(max_length =120)
    parent = TreeForeignKey('self' , null = True , blank = True , verbose_name='parent category', related_name='categories')

    def get_absolute_url(self):
        return reverse('categories', kwargs={'path': self.get_path()})

    def get_clothes(self): 
        return Product.objects.filter(category__in=self.get_descendants(include_self=True))
    def get_brands(self):
        return  Product.objects.filter(category__in=self.get_descendants(include_self=True) , brand=product__brand)


class Product(models.Model):
    brand = ForeignKey('Brand', verbose_name='brands', related_name='brand' , default='')
    category = TreeForeignKey('Category', verbose_name='categories', related_name='products' , default='')

我有这样的分类 男士 > 男装 > T 恤

我的模板

{% for brand in instance.get_brands %}
{{ brand.title }}
{% endfor %}

我遇到了错误

global name 'product__brand' is not defined

问题出在这个方法中:

def get_brands(self):
        return  Product.objects.filter(category__in=self.get_descendants(include_self=True) , brand=product__brand) #This line

应该是:

return  Product.objects.filter(category__in=self.get_descendants(include_self=True) , brand= 'something') # instead of product__brand