2016-08-14 8 views
0

に私の一般的なDetailView PKをフィルタリング:動的クエリセット

class CircularDetail(DeleteView): 
    model = Circular 
    template_name = 'genre/circular_detail.html' 

    def get_context_data(self, **kwargs): 
     ctx = super(CircularDetail, self).get_context_data(**kwargs) 
     ctx['c'] = Circular.objects.get(pk=1) 
     ctx['sittings'] = Sitting.objects.all() 

     return ctx 

マイ円形モデル:

class Circular(models.Model): 
    cir_no = models.IntegerField(blank=False) 
    sit_start_date = models.DateField(blank=False) 
    sit_end_date = models.DateField(blank=False) 
    sess_no = models.ForeignKey(Session, 
           on_delete=models.CASCADE) 
    parl_no = models.ForeignKey(Parliament, 
           on_delete=models.CASCADE) 
    class Meta: 
     unique_together = ('cir_no', 'sess_no',) 

これだけのショーPK = 1を私が選んだとき、私はそのように動的PK値を割り当てます異なるpkは、対応するデータを表示します。

どのようにpk値を動的に割り当てることができますか?ビューが実際にあると仮定すると、

+0

from django.views.generic.detail import DetailView class CircularDetail(DetailView): model = Circular template_name = 'genre/circular_detail.html' 

DetailViewに基づいていますが、DeleteVieではありませんw、あなたが望むのは自動的に何をするかです。 'c'の定義を削除し、テンプレートの' object'にアクセスしてください。 –

+0

私はあなたの返事から明らかではない。もし私がそこにあるものを取り除くなら。現在pk = 1はCircular No-1を返すだけで、他のものは返さない。 Circular No-2,3などを取得したい – ohid

+0

DetailViewの全体的なポイントは、pkに関連付けられたオブジェクトでテンプレートコンテキストを設定することが既に行われていることです。私が言ったように、それは「物体」として存在します。 –

答えて

0

あなたは、テンプレートに以下のアクセスオブジェクトを行うことができます

サンプルURL

url(r'^circular/(?P<pk>\d+)/details/$', 
    CircularDetail.as_view(), 
    name="circular_detail") 

ビューtemplate.html

<div> 
    CIR No: {{ object.cir_no }} 
    Sit Start Date : {{ object.sit_start_date }} 
</div> 
+0

ご回答ありがとうございますが、私の要件は異なります。ここでCir noは座っている日付と関連しているので、各cirは異なる座席を持っています。 – ohid

+0

Sitting Modelで質問を更新できますか? –

+0

ここに私の質問のリンクがあります:http://stackoverflow.com/questions/38939288/change-scheduled-date-to-another-date-with-transfering-content-and-filter-pk-dynこの質問のうち1は現在適切です。 – ohid

関連する問題