如何从Django的不同类中获取最新的ID

时间:2017-02-24 12:59:44

标签: python django

我看到了关于这个问题的所有谈话,但我无法解决。我是这个Python-Django编程的新手,所以如果有人可以帮助我? :)

这是我的views.py:

class HistoryProjectCreate(CreateView):
    template_name = 'layout/create_proj_history.html'
    model = ProjectHistory
    project = Project.objects.latest('id')
    user = User.id

    fields = ['user', 'project', 'user_start_date']
    success_url = reverse_lazy('git_project:index')

Var项目必须从数据库返回最新的项目ID,我必须在我的html表单中使用它:

<form class="form-horizontal" action="" method="post" enctype="multipart/form-data">
    {% csrf_token %}
    <label for="user"></label>
    <input id="user" type="text" name="user" value="{{ user.id }}" ><br>
    <label for="project">Project title: </label>

    <input id="project" type="text" name="project" value="{{ project.id }}" ><br>

<!--Here - "project.id" I need latest project ID-->

    <label for="user_start_date">Start date: </label>
    <input id="user_start_date" type="date" name="user_start_date" value="{{ projectHistory.user_start_date }}" ><br>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <button type="submit" class="btn btn-success">Submit</button>
        </div>
    </div>
</form>

我不确定project = Project.objects.latest('id')是否是从Project表中获取最新ID的正确语句。

1 个答案:

答案 0 :(得分:2)

如果您想要项目的最后一个ID,则需要按ID排序,并使用查询集上提供的last()函数

project = Project.objects.order_by('id').last()

Order_by doc

Last function doc