как решить нет такого столбца: todo_todo.title - PullRequest
0 голосов
/ 29 мая 2020

Я делаю базовое c приложение todo в Django3. как решить нет такого столбца: ошибка todo_todo.title ?? Я не могу решить эту проблему. вот мои модели задач и представления.

это мой todo / models.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') 

1 Ответ

0 голосов
/ 29 мая 2020

Сначала убедитесь, что вы запустили

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

...