Ich mache ein Django-Projekt (Art von sozialem Netzwerk) und möchte eine Seite haben, wo ich alle meine Beiträge sehen kann, was ich getan habe.Django keine solche Spalte ForeignKey
ich den Fehler Immer bekommen: keine solche Spalte: uploaded_by
in 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
in 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))
Ich möchte den Benutzernamen des bekommen Benutzer, der angemeldet ist, wie kann ich dies in der SQL-Abfrage whiten?
Thaks Jungs :)
Warum Sie 'raw' Abfrage in erster Linie verwenden? – errata
nicht sicher über die rohe Abfrage, aber haben Sie erwogen, all_posts in der Standard-Django Weg wie: all_posts = ContentItem.objects.get (user = request.user) anstatt mit Raw SQL? Was auch immer Ihre Gründe sind, es lohnt sich, es auszuprobieren, vielleicht ist Ihr Modell nicht sync; d mit der db und Sie müssen nur eine manage.py migrieren – jnvilo