2

オブジェクトが持つ日時情報に基づいてオブジェクトを表示したい。私のモデルは次のようになります。

models.py

class Person(models.Model):
    name = models.CharField(max_length=50)

class Registration(models.Model):
    name = models.ForeignKey(Person)
    reg_id = models.IntegerField()
    reg_date = models.DateTimeField(db_index=True)
    reg_type = models.CharField(max_length=50)
    description = models.CharField(max_length-200)

urls.py

from app.models import Registration
from dajngo.views.generic.date_based import archive_day

queryset = registration.objects.all()


urlpatterns = patterns('',
    url(r'^$', 'ui.views.index'),
    url(r'^registrations/(?P<person_name>)\w+)/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/$', archive_day, {'year': year, 'month': month, 'day': day, 'queryset': queryset, 'date_field': reg_date})
)

)

私の意図:

特定の日に、人の名前ですべての登録を表示したい。はい、一人で複数登録できます。

私は間違っていることを知っています:

私はドキュメントを読みましたが、私のような初心者にとってはあまり便利ではありません。そして、それらがこれらの必須パラメーターであり、key: valueペアとして送信する必要があるいくつかのオプションであることがわかりました。しかし、私が理解していないように見えるreferenceのは、どうすれば , year,monthを辞書のペアにdayすることができるかということです. 私が言いたいのは、明らかにそれが正しいことを認識しないということですか?では、どこから参照を取得できますか?私は混乱しているように聞こえますか?私は本当に〜です。それをクリアするためのいくつかの助けは大歓迎です。reg_timekey: valueyear

アップデート:

一つ分かることがあります。は実際にはのdate中にラップされますrequestURLユーザーがその権利を要求するからですか?したがって、おそらくリクエスト本文の値year monthとから値を抽出する必要があります。どうすればこれを行うことができますか?day

4

1 に答える 1

0

場合によって異なりますが、CBV の場合は次のようになります。

self.kwargs['year']

ビュー関数の場合:

def my_view(request, year, month, day):
    ...

https://docs.djangoproject.com/en/1.5/topics/http/urls/#notes-on-capturing-text-in-urls

于 2013-08-03T22:47:10.023 に答える