0

汎用ビューを使用している場合、別のデータベーステーブルのフィールド(most_view)を更新したいと思います。

ユーザーが記事を読んでいるときに、「ほとんどのビュー」の新しいレジスタを更新または作成するのはどの程度悪いですか?

ulrs.py

from Paso_a_Paso.noticias.models import Noticia

noticias_info_dict = {
        'queryset':Noticia.objects.all(),
        'date_field':'pub_date',
}

urlpatterns = patterns('django.views.generic.date_based',
    (r'^$','archive_index', noticias_info_dict,'noticias_archive_index'),
    (r'^(?P<year>\d{4})/$','archive_year', noticias_info_dict,'noticias_archive_year'),
    (r'^(?P<year>\d{4})/(?P<month>\w{3})/$','archive_month', noticias_info_dict,'noticias_archive_month'),
    (r'^(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/$','archive_day', noticias_info_dict,'noticias_archive_day'),
    (r'^(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$','object_detail', noticias_info_dict,'noticias_archive_detail'),
)

みんなありがとう :)

4

1 に答える 1

0

現在のジェネリックビューでこれを行うための実際のクリーンな方法はありません(クラスベースのジェネリックビューが役立ちます)。

あなたはできる:

  • 汎用ビューを呼び出し、その他の更新を行うラッパービューを作成します。ここでの欠点は、汎用ビューの作業の一部を複製する(適切な記事オブジェクトを見つける)ことです。これにより、DBクエリも複製されます。

また

  • 一般的なビューを放棄して、独自のビューを作成します。あなたが思うほど難しくはなく、おそらく今のところ最もクリーンなアプローチです。
于 2009-09-11T15:16:23.123 に答える