【发布时间】:2020-10-12 11:12:50
【问题描述】:
我想从数据库中获取所有 Message_thread_private 实例,但出现错误 NameError: name 'member_one' 没有定义
模型.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,
})
为什么会出现此错误,我该如何解决?
【问题讨论】:
-
你需要使用双下划线来过滤外键属性:
member_one__username=
标签: python django django-models django-views django-datatable