I am pretty new to django. I am trying to create a simple task management app and I created a class Taskdb in model.py. The problem I am facing that I am getting output like task object(1) instaed of actual value that I put in task field. Please look into my files below (model.py and view.py) and let me know where I am going wrong.
Models.py
from django.db import models
from django.utils import timezone
class Taskdb(models.Model):
task = models.CharField(max_length = 30)
priority = models.CharField(max_length = 30)
completed = models.BooleanField(default=False)
time_date = models.DateTimeField(default=timezone.now)
def __str__(self):
return "%s %s"%(self.task, self.completed)
Views.py
from django.shortcuts import render, redirect
from .forms import UserRegisterForm
from .models import Taskdb
def home(request):
return render(request, 'index.html')
def task(request):
all_items = Taskdb.objects.all()
return render(request, 'task.html', {'all_items': all_items})
task.html
{% extends 'base.html' %} {% block body %}
<h2>My Task</h2>
<h4>Welcome {{ user.username }}!</h4>
<h3>Your task list.</h3>
{% for task in all_items %}
<p>{{ task }}</p>
{% endfor %} {% endblock %}
Output:
Screen shot of Task.html web page
admin site: Screen shot of admin site of the app