我将 DjangoFilterBackend 用于所有字段:
class EntitiesViewSet(viewsets.ModelViewSet):
queryset = Entity.objects.all()
serializer_class = EntitiesSerializer
pagination_class = StandardResultsSetPagination
filter_backends = (DjangoFilterBackend,)
filter_fields = '__all__'
Run Code Online (Sandbox Code Playgroud)
它非常适合通过具有固定或布尔值的一个或多个字段的 url 进行查询。
像这样:
http://localhost:8000/api/persons/?news_by_email=True
http://localhost:8000/api/persons/?issuer=SSP-SC
Run Code Online (Sandbox Code Playgroud)
但我还需要过滤具有空值的字段,但它不起作用。
我试过:
/persons/?parent=null
/persons/?parent=Null
/persons/?parent=NULL
/persons/?parent=
/persons/?parent__isnull
Run Code Online (Sandbox Code Playgroud)
在同样的简化过程中有什么建议吗?
任何需要扩展或新视图集的建议?
这是我第一次在C++中使用lambda函数,我需要传递一个值来在lambda函数体内使用:
在上面的代码中我需要传递int参数seq_msg:
void do_connect(tcp::resolver::iterator endpoint_iterator, int seq_msg)
{
boost::asio::async_connect(socket_, endpoint_iterator, [this](boost::system::error_code ec, tcp::resolver::iterator)
{
if (!ec)
{
send_message(seq_msg);
do_read_header();
}
});
}
Run Code Online (Sandbox Code Playgroud)