gpt4 book ai didi

python - 仅限 Django 查询集

转载 作者:行者123 更新时间:2023-12-05 04:13:52 26 4
gpt4 key购买 nike

我只想在模型的查询集中选择几个字段。我看到了这个链接:Django queryset only我以为我实现了它,但我仍然得到了整个查询集。

这是我的项目 View .py:

from django.shortcuts import get_object_or_404, render
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.views import generic
from django.utils import timezone

from .models import Project

# Create your views here.
class IndexView(generic.ListView):
model = Project.objects.only("name","jobNumber", "contractor", "assigned_to", "created_date")
template_name = 'project/index.html'

def get_queryset(self):
#return Project.objects.all()
return Project.objects.only("name","jobNumber", "contractor", "assigned_to", "created_date")

class DetailView(generic.DetailView):
model = Project
template_name = 'project/detail.html'

这是我的 index.html 模板

{% load render_table from django_tables2 %}
{% block content %}
<h1>Projects</h1>
<ul>
{% for project in project_list %}
<li><a href="{% url 'project:detail' project.id %}">{{ project.name }}</a></li>
{% endfor %}

</ul>
{% render_table project_list %}
{% endblock %}

上面的代码为我提供了 Project 模型中的所有字段。如何仅选择项目中的几个字段?

任何帮助将不胜感激

最佳答案

only()指定应从数据库中填充哪些字段,但不会阻止访问模型上的其他字段。如果你想限制结果对象中可用的字段,那么你应该使用 values()values_list()反而。请注意,它们都不返回模型,因为使用模型仍会使其他字段可用。

关于python - 仅限 Django 查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36465564/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com