V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zonde306  ›  全部回复第 1 页 / 共 1 页
回复总数  6
76 天前
回复了 sbldehanhan 创建的主题 C++ 如何增强自己的程序设计水平?
要不先学一下设计模式,看看相关的书籍,再去积累经验
虽然先积累经验再学设计模式也可以,但这样容易一知半解,要花大量的时间才能学会,甚至可能没法用在下一个项目里
最好再选一个代码风格,然后去尝试遵守这个设定
设定一个合适的目标,然后再划定限制(可以做什么,不能做什么)
设计就是做出选择,什么需要(要做什么),什么不需要(不能做),不加以限制是学不会设计的,当然学任何东西都是一样的
可以自己写一个 middleware 捕获 request 放到 全局/模块/单例
例如我自己写的 middleware:
```python
import contextvars
import django.http

GLOBAL_REQUEST = contextvars.ContextVar("GLOBAL_REQUEST", default=None)

class GlobalRequest:
def __init__(self, get_response):
self.get_response = get_response

def __call__(self, request):
global GLOBAL_REQUEST
GLOBAL_REQUEST.set(request)
return self.get_response(request)

# 用这个获取 request 实例
def get_request() -> django.http.HttpRequest:
return GLOBAL_REQUEST.get()

```
因为你的 `QObject::connect` 第三个参数 `receiver` 是 `this`,所以用的是主线程(因为与`sender`处于相同线程),文档有说明的,会根据接收方对象所在线程来决定在哪个线程执行 `method`(默认情况下的`type`参数)
详见: https://doc.qt.io/qt-6/qt.html#ConnectionType-enum
以及: https://doc.qt.io/qt-6/qobject.html#connect-2
这个文档就有
2021-02-04 14:51:54 +08:00
回复了 piaochen0 创建的主题 Django django admin 如何实现排除搜索
可以,get_search_results 参数 search_term 就是搜索框的内容(类型 str ),对 queryset 参数进行 filter 然后返回即可
排除的话,可以考虑用数据库的全文索引,实现简单,性能尚可

例如
```
def get_search_results(self, request, queryset, search_term):
if not search_term:
return super().get_search_results(request, queryset, search_term)

return queryset.filter(seo__search=search_term), False
#end get_search_results
```

```
class SearchLookup(models.Lookup):
lookup_name = "search"

def as_mysql(self, compiler, connection):
lhs, lhs_params = self.process_lhs(compiler, connection)
rhs, rhs_params = self.process_rhs(compiler, connection)
params = lhs_params + rhs_params
return "MATCH (%s) AGAINST (%s IN BOOLEAN MODE)" % (lhs, rhs), params
#end as_mysql
#end - SearchLookup
```
2020-11-08 12:49:45 +08:00
回复了 zhao1014 创建的主题 Java 有没有什么练手项目可以充分利用到计算机网络相关知识?
UDP 实现可靠数据传输协议( TCP 、QUIC )、UDP 实现 SSL ( QUIC )
实现语音流 /视频流协议
实现 DNS 协议
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3999 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 05:15 · PVG 13:15 · LAX 21:15 · JFK 00:15
Developed with CodeLauncher
♥ Do have faith in what you're doing.