我在列表中传递多个值,并且我想用这些值过滤我的查询集。我了解 Q 对象,但我不知道如何将过滤器添加在一起。我想到了类似的事情:
categories = ['1','3','4']
for category in categories:
Q+= Q(id = category)
Run Code Online (Sandbox Code Playgroud)
之后我会过滤我的查询集queryset.filter(Q)
我有一个项目,我需要通过套接字发送文件进行简单的聊天。我想知道 C 套接字编程中是否有任何函数可以让我检查现有连接(我需要向每个连接的客户端发送消息)。我尝试通过创建一个数组并将套接字保存到其中来实现此目的,但由于fork()它不起作用,每个客户端都有自己的数组并且它们不匹配。我的服务器是用 C 编写的,我的客户端是用 Python 编写的。下面是我的代码:
服务器:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define PORT 9992
int main(){
char separator[4];
int iterator = 0;
int clients[32];
separator[0] = '|';
int sockfd, ret;
char name[32];
struct sockaddr_in serverAddr;
int newSocket;
struct sockaddr_in newAddr;
socklen_t addr_size;
char buffer[1024];
pid_t childpid;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if(sockfd < 0){
printf("[-]Error in connection.\n");
exit(1);
}
printf("[+]Server Socket is created.\n");
memset(&serverAddr, '\0', …Run Code Online (Sandbox Code Playgroud)