这是我的模特
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'
答案 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
。