我有2个模型,分别是ChatRoom和Message:
模型聊天室:
class ChatRoom(models.Model):
user = models.ForeignKey(User, on_delete=models.SET_NULL, related_name='chat_creator', null=True, blank=True)
with_user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True, related_name='room_user_with')
模型消息:
class Message(models.Model):
chat = models.ForeignKey(ChatRoom, on_delete=models.CASCADE, related_name='message_room')
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='message_user')
content = models.TextField()
我想通过获取其中包含10条以上消息的ChatRoom来过滤ChatRoom查询集。
做到这一点的最佳方法是什么?预先感谢!
答案 0 :(得分:2)
}else {
$message = "Credenciales incorrectas";
echo "<script type='text/javascript'>alert('$message');</script>";
header('Refresh: 0; URL=index.php');
}
您的ChatRoom.objects.annotate(cnt=Count('message_room')).filter(cnt__gt=20)
具有误导性:);从外键引用的模型的角度来看,它们应该引用包含外键的模型。 related_name
和chat_messages
。