Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Django中正确地进行查询?_Python_Django - Fatal编程技术网

Python 如何在Django中正确地进行查询?

Python 如何在Django中正确地进行查询?,python,django,Python,Django,我遇到了一个小问题。我想构造一个适当的查询集,以获得表示每个类别的费用数量的值,从而显示类似的结果 这就是我现在得到的: class CategoryListView(ListView): model = Category paginate_by = 5 def get_context_data(self, *, category_object_list=None, **kwargs): **categories = Category.objects.a

我遇到了一个小问题。我想构造一个适当的查询集,以获得表示每个类别的费用数量的值,从而显示类似的结果

这就是我现在得到的:

class CategoryListView(ListView):
    model = Category
    paginate_by = 5

    def get_context_data(self, *, category_object_list=None, **kwargs):
        **categories = Category.objects.annotate(Count('expense'))
        queryset = categories.values('expense__count')**


    return super().get_context_data(
        category_object_list=queryset,
        **kwargs)
当然,它不工作,我有一个糟糕的表,我想问题不在HTML中,但在我绝对错误的查询中。。。我该怎么办

这是我的HTML,以备需要:

 {% for category in object_list %}
    <tr>
    <td>
        {{ category.name|default:"-" }}
    </td>
        <td>
            {% for number in category_object_list %}
                {{ number.expense__count }}
            {% endfor %}
        </td>
    <td>
      <a href="{% url 'expenses:category-update' category.id %}">edit</a>
      <a href="{% url 'expenses:category-delete' category.id %}">delete</a>
    </td>
{% endfor %}
    </tr>

您可以在模板中通过反向查找来尝试这样做 外国钥匙。有关更多详细信息,请参阅

{% for category in object_list %}
    <tr>
    <td>
        {{ category.name|default:"-" }}
    </td>
        <td>
            {{category.expense_set.all.count}}
        </td>
    <td>
      <a href="{% url 'expenses:category-update' category.id %}">edit</a>
      <a href="{% url 'expenses:category-delete' category.id %}">delete</a>
    </td>
{% endfor %}
    </tr>

你能把你的模特贴到我刚才加的:-)哇,你真是个英雄。谢谢你的回答和良好的知识来源!祝您愉快,先生!如果有效的话,也可以自由选择@牧师2码
{% for category in object_list %}
    <tr>
    <td>
        {{ category.name|default:"-" }}
    </td>
        <td>
            {{category.expense_set.all.count}}
        </td>
    <td>
      <a href="{% url 'expenses:category-update' category.id %}">edit</a>
      <a href="{% url 'expenses:category-delete' category.id %}">delete</a>
    </td>
{% endfor %}
    </tr>
class CategoryListView(ListView):
    model = Category
    paginate_by = 5