'函数'对象没有属性'对象'Django AttributeError

时间:2020-07-16 04:47:51

标签: django

这是我的模特

from django.db import models

# Create your models here.
class post(models.Model):
    title = models.CharField(max_length=255)
    body = models.TextField()
    date = models.DateTimeField(auto_now_add=True)

这是我在Django中的观点

from django.shortcuts import render
from .models import post
from django.http import HttpResponse

# Create your views here.
def post(request, id):
    data = {'post': post.objects.get(id=id)}
    return render(request, 'post/post.html', data)

我尝试通过ID获取帖子,但发现错误:

AttributeError at /post/3/
'function' object has no attribute 'objects'

2 个答案:

答案 0 :(得分:1)

类和模型以大写字母开头。在这种情况下,Django会将您的模型Post与函数post混淆。

如何更清楚地了解它:

>>> from blog.models import Blog, Entry
>>> entry = Entry.objects.get(pk=1)
>>> cheese_blog = Blog.objects.get(name="Cheddar Talk")
>>> entry.blog = cheese_blog
>>> entry.save() 

答案 1 :(得分:0)

因为您的函数名也是post,所以django感到困惑。

因此将视图函数名称post更改为postView