我正在做一个Django项目(社交网络的一种),并希望有一个页面,我可以看到我所有的职位,我做了。Django no such列ForeignKey
我百达得到的错误:没有这样的列:uploaded_by
在models.py
from django.db import models
from django.contrib.auth.models import User
class ContentItem(models.Model):
upload_date = models.DateTimeField(auto_now=True)
title = models.CharField(max_length=100, default='no title')
description = models.CharField(max_length=400, default='no description')
image = models.ImageField(upload_to='image_board/posts/', default='null')
uploaded_by = models.ForeignKey(User, default='0')
def __str__(self):
return self.title
在views.py
def view_my_favorites(request):
all_posts = ContentItem.objects.raw('SELECT * FROM image_board_ContentItem WHERE uploaded_by = request.user.username')
template = loader.get_template('favorites.html')
context = {
'all_posts': all_posts,
}
return HttpResponse(template.render(context, request))
我想要得到的用户名用户在哪里,我怎样才能在sql查询中这样做?
Thaks家伙:)
你为什么首先使用'raw'查询? – errata
不确定原始查询,但你有没有考虑以标准Django方式获取all_posts,如:all_posts = ContentItem.objects.get(user = request.user),而不是使用原始sql?不管你的理由是什么,它的值得检查,也许你的模型不同步; D到数据库,你只需要做一个manage.py迁移 – jnvilo