从查询集django中选择特定对象

时间:2017-07-25 14:35:13

标签: python django

是否有任何方法可以选择在查询集的结果中找到的特定对象,例如选择数组中的项目。

在数组中,您可以根据其位置选择特定项目:

arrayName = {55, 33, 34, 23}
arrayName[2]
result = 34

我想用queryset结果完成同样的事情

Users in database = {Steve, Chris, Jame, Cole, Casper, Courtney}
Query will filter the names that start with c
result = {Chris, COle, Casper, Courtney}

获得结果后,我想从结果中选择Casper ... 有没有办法像数组一样做。

something like results[2]

更新

所以我让视图的一部分工作,指定一个特定的记录。

我唯一的另一个问题是看看是否可以在HTML tempalte文件中执行相同的操作...这是我在视图和html文件中的内容。有没有办法做同样的事情ht ehtml文件...

view.py

                i=0
                    for form in formset:
                        cd = form.cleaned_data
                        currentAmount = cd['amount']
                        currentDescription = cd['description']
                        print(currentAmount)
                        print(currentDescription)
                        currentTrans = transactions[i]
                        currentTrans.amount = currentAmount
                        currentTrans.description = currentDescription
                        currentTrans.save()
                        print(currentTrans)
                        i = i + 1

HTML

<form action="." method="POST">
    {% csrf_token %}
    {{ SplitFormSet.management_form }}
    {% for form in SplitFormSet %}
      {{ form.as_p }}
    {% endfor %}
    <p>Tax: <input type="text" name="tax" value=""></p>
    <p>Tip: <input type="text" name="tip" value=""></p>
    <input type="submit" name="submit" value="submit">
  </form>

我尝试了这个,但它给我一个错误,因为&#39;我&#39;不是标签

<form action="." method="POST">
    {% csrf_token %}
    {{ SplitFormSet.management_form }}
    {% i = 0 %}
    {% for form in SplitFormSet %}
      {{ transactions[i] }}
      {{ form.as_p }}
      {% i = i + 1 %}
    {% endfor %}
    <p>Tax: <input type="text" name="tax" value=""></p>
    <p>Tip: <input type="text" name="tip" value=""></p>
    <input type="submit" name="submit" value="submit">
  </form>

1 个答案:

答案 0 :(得分:1)

names=Model.objects.filter(name__istartswith='c')

print(names[2])

代替名称,您已将字段名称设为模型