显示表中一个字段中具有值的项目的结果

问题描述 投票:0回答:2

是否有一种方法可以根据表格字段中的值显示内容?假设我的表中有一个名为label的字段,该字段不是必须填写的,是否可以根据是否为特定项目填充了该字段来过滤内容?将显示具有该字段的项目,并且该字段留为空白的项目将不会显示。

model.py:

class Item(models.Model):
  title = models.CharField(max_length=100)
  price = models.FloatField()
  discount_price = models.FloatField(blank=True, null=True)
  category = models.ManyToManyField(Category, blank=True)
  label = models.ManyToManyField(Label, blank=True)
  slug = models.SlugField(unique=True)
  description = models.TextField()
  image = models.ImageField()

views.py:

def HomeView(request):
  item_list = Item.objects.all()
  context = {
    'item_list': item_list,
  }
  return render(request, "home.html", context)
python django
2个回答
0
投票

使用过滤器

item_list = Item.objects.filter(label = your_label_item)

如果要获取label不为null的所有项目,则可以使用此选项

item_list = Item.objects.filter(label__isnull = False)

0
投票

如果我理解正确,您想拥有Item不为None的label吗?然后您可以尝试以下方法:

item_list = Item.objects.exclude(label=None)
© www.soinside.com 2019 - 2024. All rights reserved.