我正在做一個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