2017-02-24 4 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') 

Varのプロジェクトは、データベースから最新のプロジェクトIDを返すために持っている、と私は私のhtml形式でそれをIDを使用する必要があります。

<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で注文すると、クエリセット

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

Order_by doc

Last function doc

+0

に利用できるlast()機能を使用する必要があります!私はそれを試しましたが、私のHTMLフォームに最新のIDを渡しませんでした。あなたはこれで私を助けることができますか? :) – Johny

+0

あなたは何を得ますか?あなたのコンテキスト内のあなたの変数「プロジェクト」は良いオブジェクトを含んでいますか? – Wilfried

+0

これは、データベースから最初のプロジェクトIDを返します(Projectテーブルから)。私もorder_by( ' - id')にしようとしましたが、何も変わりませんでした。常に最初のプロジェクトIDを返します。 – Johny

関連する問題