gpt4 book ai didi

python Django : Getting output as "task object(1)" instead of actual value in model table

转载 作者:行者123 更新时间:2023-12-04 15:24:31 25 4
gpt4 key购买 nike

我是 django 的新手。我正在尝试创建一个简单的任务管理应用程序,并在 model.py 中创建了一个类 Taskdb。我面临的问题是我得到的输出类似于任务对象(1),而不是我在任务字段中输入的实际值。请查看我下面的文件(model.py 和 view.py),让我知道哪里出错了。

模型.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)

View .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})

任务.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 %}

输出:

Screen shot of Task.html web page

管理站点: Screen shot of admin site of the app

最佳答案

在你的 django 模型类中,你有这个,这是正确的:

 def __str__(self):
return "%s %s"%(self.task, self.completed)

这将返回您在 Django 管理中想要的任何内容(在上面的例子中,它将返回该行的 Task 和 Completed 列中的任何内容)。

但是,在您上面的代码中,__str__ 缩进不够,因此它不是该模型类的一部分。确保正确缩进它。所以,它应该是这样的:

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)

您还可以将其他属性放入模型的元类中,以更改它们在 Djang 管理中的显示方式。

更多信息:https://www.geeksforgeeks.org/customize-django-admin-interface/

关于 python Django : Getting output as "task object(1)" instead of actual value in model table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62562416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com