0
在Django中,我有兩種模型,Cateogory和Product,Product reference Category以這種方式。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)
是否有更聰明的解決方案?
或'if c.product_set.exists()'。 – 2013-03-11 20:32:27
@PavelAnossov謝謝,這似乎更有效(re:https://docs.djangoproject.com/en/dev/ref/models/querysets/#when-querysets-are-evaluated),將會進行編輯。 – mVChr 2013-03-11 20:35:18