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

对于当前的通用视图(基于类的通用视图会有所帮助),没有真正干净的方法可以做到这一点。

你可以:

  • 创建一个调用通用视图并执行其他更新的包装器视图。这里的缺点是您将重复通用视图的部分工作(查找正确的文章对象),这也会导致重复的数据库查询。

或者

  • 放弃通用视图并编写自己的视图。没有你想象的那么难,而且可能是目前最干净的方法。
于 2009-09-11T15:16:23.123 回答