2017-02-24 49 views
0

我看到了關於這個問題的所有對話,但我無法解決它。我在這個Python-Django編程中是新手,所以如果有人能幫助我? :)如何從Django的不同類中獲取最新的ID

這是我的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') 

瓦爾項目必須從數據庫中返回最新的項目ID,我不得不使用它的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的正確語句。

回答

2

如果你想項目的最後一個ID,你需要通過id來訂貨,並利用現有的last()功能上查詢集

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

Order_by doc

Last function doc

+0

謝謝!我試過了,但它沒有在我的HTML表單中傳遞最新的ID。你能幫助我嗎? :) – Johny

+0

你會得到什麼?您的上下文中的變量「項目」包含良好的對象? – Wilfried

+0

這會返回數據庫中第一個項目ID(來自表項目)。我也嘗試order_by(' - id'),但沒有任何改變。它總是返回第一個項目ID。 – Johny

相關問題