在 Django 中,我有两个模型,类别和产品,产品以这种方式引用类别。
class Category(models.Model):
name = models.CharField(max_length=255)
class Product(models.Model):
category = models.ForeignKey(Category, null=True)
我想获得至少被一种产品引用的所有类别。
我已经通过这个解决方案实现了我的目标:
class Category(models.Model):
name = models.CharField(max_length=255)
def has_product(self):
products = self.product_set.all()
if(len(products) > 0):
return True
else:
return False
category_list = []
for cat in Category.objects.all():
if cat.has_products():
category_list.append(cat)
有没有更智能的解决方案?