如何在视图中执行过滤的数据库查找?

时间:2017-09-23 21:51:08

标签: django

我正在使用Django中的数据库。我熟悉Django数据库API,但我想知道如何与views.py内的数据库进行交互。这是相关的模型:

class SlotFilling(models.Model):
    originator = models.CharField(max_length=20)
    empty_slot = models.BooleanField(default=False)

我正在尝试在我的程序中写一个If语句,以检查给定empty_slot的{​​{1}}是True。我想我可以用originator来完成这个任务。有没有最有效的方法来实现这个?

1 个答案:

答案 0 :(得分:2)

如果您要查询发起人所有空插槽,您可以执行以下操作

SlotFilling.objects.filter(empty_slot=True, originator='someoriginator')

@comment code

假设创始人是唯一的

originator_slot = SlotFlling.objects.get(originator='originator')
slot_value = originator_slot.empty_slot 

如果发起者不是唯一的,您可以使用过滤器,这会列出特定发起人的所有行

originator_slots = SlotFlling.objects.filter(originator='originator')

for originator_slot in originator_slots:
    print originator_slot.empty_slot

另外请查看retrieving objects in DB API documentation,说你熟悉它会是夸大其词:)