问题描述
我想从数据库中获取所有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,})