バージョン1.7

・未完状態のタスク表示 Filterで取得したものを表示する。
・タスクを完了状態にする。


Boolean型のデータの入っている値を勘違いして苦戦していた。
データの中身をチャンと確認しないとダメですね。


タスク完了状態は、ジェネリックビューでもできそうだったけど
あえてViewを書いた。復習しないといけないし


バージョン2.0へ向けて
・ログイン機能をつける。
・データ型の変更をしてみる。
・newforms触ってみる。

models.py

from django.db import models

# Create your models here.
class Task(models.Model):
    task_id     = models.AutoField(primary_key=True)
    contents    = models.TextField(_('Contents'))
    status      = models.BooleanField(_('Status'))

    class Admin:
        pass

urls.py

from django.conf.urls.defaults import *
from todo.task.models import *

urlpatterns = patterns('',
    # Example:
    (r'^$','django.views.generic.list_detail.object_list',{'queryset': Task.objects.all(),'allow_empty': True}),
    (r'^noend/$','django.views.generic.list_detail.object_list',{'queryset': Task.objects.filter(status__exact=0)}),
    (r'^add/$','django.views.generic.create_update.create_object',{'model': Task, 'post_save_redirect': '/'}),
    (r'^task_end/(?P<task_id>\d+)/$', 'todo.task.views.update_task_status'),

    # Uncomment this for admin:
     (r'^admin/', include('django.contrib.admin.urls')),
)

views.py

# Create your views here.
from django.shortcuts import get_object_or_404, render_to_response
from django.http import HttpResponseRedirect
from todo.task.models import Task

def update_task_status(request, task_id):
    task = None

    try:
        task = get_object_or_404(Task, pk=task_id)
    except Task.DoesNotExist:
        pass
    else:
        task.status = True
        task.save()

    return HttpResponseRedirect ('/')