1

私は単純なアプリに取り組んでいます。私のアプリでは、ユーザーはアカウントを作成してボードを追加できます。

ユーザーが作成したすべてのボードを取得して、このエラーを発生させずにテンプレートに表示しようとしています。

all() got an unexpected keyword argument 'user'

Traceback:
File "C:\Python26\Lib\site-packages\django\core\handlers\base.py" in get_response
111.                         response = callback(request, *callback_args, **callback_kwargs)
File "C:\o\mysite\pet\views.py" in Display
69.     board = Board.objects.all(user=request.user)

私のモデル.py

from django.db import models
from django.db.models.signals import post_save
from django.contrib.auth.models import User

class Person(models.Model):
    user = models.ForeignKey(User)
    name = models.CharField(max_length=100)
    image = models.FileField(upload_to="images/",blank=True,null=True)


    def __unicode__(self):
        return self.name

class Board(models.Model):
    user = models.ForeignKey(User)
    name = models.CharField(max_length=100)
    def __unicode__(self):
        return self.name

私のviews.pyの一部(問題はここにあります)

def Display(request):
    if not request.user.is_authenticated():
        return HttpResponseRedirect(reverse('pet.views.LoginRequest'))
    board = Board.objects.all(user=request.user)
    return render(request,'edit.html',{'board':board})

私の edit.html

{% if board %}
<ul>           
    <li>Name: {{ board.name }}</li>

</ul>
{% endif %}

ここに画像の説明を入力

4

2 に答える 2

3

all()はallです。値に基づいてクエリを実行する場合は、filter()を使用します

def Display(request):
    if not request.user.is_authenticated():
        return HttpResponseRedirect(reverse('pet.views.LoginRequest'))
    board = Board.objects.filter(user=request.user)
    return render(request,'edit.html',{'board':board})

{% if board %} 
<ul>  
    {% for b in board %}         
    <li>Name: {{ b.name }}</li>
    {% endfor %}
</ul>
{% endif %}
于 2013-03-09T15:32:50.367 に答える
2

userwhere isですべてを取得するには、メソッドrequest.userを使用する必要がありますfilter。代わりに:

board = Board.objects.filter(user=request.user)

これで問題が解決することを願っています!

于 2013-03-09T15:33:59.433 に答える