如何解决没有这样的栏目:todo_todo.title。

问题描述 投票:0回答:1

我在Django3中做了一个基本的todo应用程序.如何解决没有这样的列:todo_todo.title错误吗?我不能解决这个问题.这里是我的todo模型和视图。

这是我的todomodels.py。

from django.db import models
from django.utils import timezone 


class Todo(models.Model):
    title=models.CharField(max_length=200) 
    details=models.TextField() 
    date=models.DateTimeField(default=timezone.now) 

    def __str__(self): 
        return self.title

这是我的views.py

from django.shortcuts import render, redirect 
from django.contrib import messages 

from .forms import TodoForm 
from .models import Todo 

############################################### 

def index(request): 
    item_list = Todo.objects.order_by("-date") 
    if request.method == "POST": 
        form = TodoForm(request.POST) 
        if form.is_valid(): 
            form.save() 
            return redirect('todo') 
    form = TodoForm() 

    page = { 
             "forms" : form, 
             "list" : item_list, 
             "title" : "TODO LIST", 
           } 
    return render(request, 'todo/index.html', page) 

### function to remove item, it recive todo item id from url ## 
def remove(request, item_id): 
    item = Todo.objects.get(id=item_id) 
    item.delete() 
    messages.info(request, "item removed !!!") 
    return redirect('todo') 
python django database migrate
1个回答
0
投票

首先,确保你运行

python manage.py makemigrations

# and 
python manage.py migrate

这个错误看起来像是一个数据库错误。

另外,更改

item_list = Todo.objects.order_by("-date")

item_list = Todo.objects.all().order_by("-date") 

一个错误可能来自于你的模板视图 todo\index.html 您将尝试访问 todo.title 但它没有被正确地从视图中传递。.all() 函数从数据库中返回Todo模型所需对象的查询集。

© www.soinside.com 2019 - 2024. All rights reserved.