小编nem*_*ixx的帖子

查找具有与给定模式匹配的列名称的表

这可能听起来有点不太现实,但我最近不得不研究远程维护系统的数据库结构,当我想找到链接到给定表的所有列时,我发现有一些情况. (参见,原始开发人员没有创建显式关系,而是在列名中编码关系!).

例如,假设所有引用列的列parent.parent都具有表单table.somefield_parent作为记录两个字段之间关系的方法,那么如何使用标准SQL命令/内置函数来查找所有这些关系(以及所涉及的表)?

任何MySQL或PostgreSQL的解决方案都是受欢迎的.

注意 :

  • 我不是在寻找数据中的模式,而是在元数据中.
  • 我知道我可以转储db结构并在那里搜索结果,但是我不想离开db-shell来找到这些关系(假设我正在使用psql,并且不想退出)

mysql sql postgresql introspection relational-database

3
推荐指数
1
解决办法
3791
查看次数

在MemCache中保存对象而不是数据存储

我使用谷歌应用引擎构建了一个应用程序.该应用程序工作正常,但我正在考虑优化它,特别是我听说过持久化对象memcache而不是数据存储的概念,作为快速访问经常需要的数据的一种手段.

假设我有这个模型的对象:

class Ea(db.Model):  
    name = db.StringProperty()  
    code = db.StringProperty()
Run Code Online (Sandbox Code Playgroud)

我已经说过我要保留的以下实例 memcache

myea = Ea.new(name='John',code='@jo')
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

python google-app-engine google-cloud-datastore

1
推荐指数
1
解决办法
1067
查看次数

在不使用索引参数的情况下索引递归

我试图编写一个递归函数来做某事,但在每一步我都想知道树中当前的深度/索引.那么如何在不使用函数签名中的索引参数的情况下实现这一目的呢?

就像是:

rec_fn n = do print index
              do_something n
              if n > 0
                then rec_fn (n-1)
                else print "end"
Run Code Online (Sandbox Code Playgroud)

所以我如何获得index,而不做以下事情:

rec_fn n i = do print i
                do_something n
                if n > 0
                  then rec_fn (n-1) (i+1)
                  else print "end"
Run Code Online (Sandbox Code Playgroud)

recursion haskell

1
推荐指数
1
解决办法
179
查看次数

如何根据lambda表达式结果过滤Django模型?

我知道我可以使用python自己的功能工具集,但我希望在Django中有一种方法.

我有这个型号:

class AssetGeoFenceEvent(models.Model):
#...
#assets, for which this event is assigned
asset = models.ForeignKey(Asset)
#...
Run Code Online (Sandbox Code Playgroud)

并且引用的Asset模型如下:

class Asset(models.Model):
#...
client = models.ForeignKey(Client)
#....
Run Code Online (Sandbox Code Playgroud)

我以为我能做到:

#get all the registered events for this client
events = AssetGeoFenceEvent.objects.filter(asset.client == client)
Run Code Online (Sandbox Code Playgroud)

但是失败了,错误:

关键字不能是表达式

试过这个,但它失败了:

#get all the registered events for this client
events = AssetGeoFenceEvent.objects.filter(lambda a: a.client == client)
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误

'function'对象不可迭代

那么我怎么能用Django来解决这个问题呢?

django filter django-models

0
推荐指数
1
解决办法
1389
查看次数