在Django中未定义名称“ member_one”错误

问题描述

我想从数据库获取所有Message_thread_private实例,但出现错误 NameError:名称“ member_one”未定义

Models.py:

class Message_thread_private(models.Model):
    member_one = models.ForeignKey(User,related_name='member_one_messages',on_delete=models.CASCADE)
    member_two = models.ForeignKey(User,related_name='member_two_messages',on_delete=models.CASCADE)
    content = models.TextField()
    created = models.DateTimeField(auto_Now_add=True)
    def __str__(self):
        return self.member_one.username

    def last_10_messages():
        return Message.objects.order_by('-timestamp').all()[:10]

views.py:

@login_required
def room(request,room_name):
    users = User.objects.filter(is_active=True).exclude(username=request.user.username)
    messages = Message_thread_private.objects.filter(member_one.username==request.user.username)
    return render(request,'chat/room.html',{
        'room_name_json': mark_safe(json.dumps(room_name)),'username': mark_safe(json.dumps(request.user.username)),'users': users,})

为什么会出现此错误,我该如何解决

解决方法

您的代码中有两个错误。下面是更新的代码。使用“ =”代替“ ==”,并使用“ __”代替“。”

    @login_required
    def room(request,room_name):
        users = User.objects.filter(is_active=True).exclude(username=request.user.username)
        messages = Message_thread_private.objects.filter(member_one__username=request.user.username)
        return render(request,'chat/room.html',{
            'room_name_json': mark_safe(json.dumps(room_name)),'username': mark_safe(json.dumps(request.user.username)),'users': users,})