Name 'member_one' is not defined error in django

400 Views Asked by At

I want to get all Message_thread_private instances from database but I am getting error NameError: name 'member_one' is not defined

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,
    })

Why am i getting this error and how can I resolve this?

1

There are 1 best solutions below

0
On

You have two errors in your code. Below is the updated code. Use "=" instead of "==" and "__" instead of "."

    @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,
        })