我有一个使用多个数据库的 Django 应用程序。给定一个模型实例,如何获取存储它的数据库(如果有)?我需要这个来将另一个对象保存到与第一个相同的数据库中。
def add_ducks_to_hunt(hunter):
db = # the hunter's db
duck = Duck()
duck.save(using=db)
Run Code Online (Sandbox Code Playgroud) 我找不到一个好的问题/标题我想做什么.我对泛型不是很熟悉,所以我有一些问题需要了解它们是如何工作的.
假设我有一个Map<k,v>将键映射到值的类.
class Map<K,V>{
public V get(K key){
//...
}
public void set(K key, V v){
//...
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我创建了两个子类:
class SuperMap<K,V> extends Map<K,V>{ /* ... */ }
class HyperMap<K,V> extends Map<K,V>{ /* ... */ }
Run Code Online (Sandbox Code Playgroud)
我想要的是创建一个函数,可以采取任何映射并打印每个键和值的字符串表示形式.所以我可以:
SuperMap<Unicorn, Horse> unicornsMap = ....;
HyperMap<Pegasus, Horse> pegasusMap = ....;
printMap(unicornsMap);
printMap(pegasusMap);
Run Code Online (Sandbox Code Playgroud)
那么,printMap功能签名应该是什么?
我试过:void printMap(Map<Object, Horse>)但它不起作用:
printMap(Map<Object,Horse>)MainClass类型中的方法不适用于参数(HyperMap<Pegasus,Horse>)
printMap(Map<Object,String>)MainClass类型中的方法不适用于参数(SuperMap<Unicorn,Horse>)
通常,以角度验证表单是这样的:
<form name="form">
<input name="fruit" ng-model="ctrl.fruit" required>
<span class="error" ng-show="form.fruit.$error.required">
Fruit is required.
</span>
</form>
Run Code Online (Sandbox Code Playgroud)
问题是我有多种形式,其中一些具有相似的字段,所以我想将一些逻辑重构为一个指令:
<form name="form1">
<fruit-input></fruit-input>
</form>
<form name="form2">
<fruit-input></fruit-input>
</form>
Run Code Online (Sandbox Code Playgroud)
问题是显示或隐藏字段错误消息的逻辑要求模板有权访问表单以评估条件form.fruit.$error.required.但是我的fruitInput指令无论插入的形式如何都需要工作.
有没有办法让指令识别其父表单,以便我可以在其(隔离的)作用域中使用它来显示/隐藏错误消息?
编辑(由于回答询问问题的有用性):显然,该示例已经简化.
实际上,表单上的字段可能包含以下内容:标签,帮助文本,悬停工具提示,文档链接,控件本身,不同验证条件的所有不同验证消息.其中一个控件很容易就是20行代码,可以在4~5个不同的地方使用.所以值得重构它.
我有一个单线程进程,它使用 SQLAlchemy 运行一堆查询。一段时间后,它要么开始进展非常缓慢,要么开始出现以下错误:
(<class 'sqlalchemy.exc.TimeoutError'>): QueuePool limit of size 10 overflow 0 reached, connection timed out, timeout 30 (Background on this error at: http://sqlalche.me/e/3o7r)
Run Code Online (Sandbox Code Playgroud)
我读过那些文档。由于我没有并发连接,似乎只有当我不调用时才会发生这种情况session.close(),我已经验证了这一点。
我添加了一些日志记录来尝试了解发生了什么。我定期记录session.get_bind().pool.status(),这是我所看到的示例:
size: 10 Connections in pool: 0 Current Overflow: -9 Current Checked out connections: 1
size: 10 Connections in pool: 4 Current Overflow: -2 Current Checked out connections: 4
size: 10 Connections in pool: 4 Current Overflow: 0 Current Checked out connections: 6
size: 10 Connections in pool: 3 Current Overflow: …Run Code Online (Sandbox Code Playgroud) python ×2
angularjs ×1
django ×1
generics ×1
inheritance ×1
java ×1
javascript ×1
postgresql ×1
sqlalchemy ×1