小编Lin*_*Lin的帖子

通过Spring以服务器模式启动H2数据库

我试图通过Spring 在服务器模式下启动H2数据库(我希望它在不同的进程中运行).目前我正在使用java Runnable.exec启动h2数据库(使用命令:" java -cp h2.jar org.h2.tools.Server ")

我知道有一种方法可以通过Spring实现.我尝试将以下内容添加到spring配置中,但它不起作用(它没有启动H2数据库):

    <bean id="org.h2.tools.Server" class="org.h2.tools.Server"
        factory-method="createTcpServer" init-method="start" destroy-method="stop">
        <constructor-arg value="-tcp,-tcpAllowOthers,true,-tcpPort,8043" />
    </bean>

    <bean id="org.h2.tools.Server-WebServer" class="org.h2.tools.Server"
        factory-method="createWebServer" init-method="start">
        <constructor-arg value="-web,-webAllowOthers,true,-webPort,8082" />
    </bean>
Run Code Online (Sandbox Code Playgroud)

我将不胜感激任何帮助/想法

spring h2 server-mode

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

Flask - 在after_request或teardown_request中访问请求

我想在返回HTTP调用的响应之前能够访问请求对象.我希望通过"teardown_request"和"after_request"访问请求:

from flask import Flask
...
app = Flask(__name__, instance_relative_config=True)
...

@app.before_request
def before_request():
    # do something

@app.after_request
def after_request(response):
    # get the request object somehow
    do_something_based_on_the_request_endpoint(request)

@app.teardown_request
def teardown_request(response):
    # get the request object somehow
    do_something_based_on_the_request_endpoint(request)
Run Code Online (Sandbox Code Playgroud)

我看到我可以将请求添加到g并执行以下操作:

g.curr_request = request

@app.after_request
def after_request(response):
    # get the request object somehow
    do_something_based_on_the_request_endpoint(g.curr_request)
Run Code Online (Sandbox Code Playgroud)

但上面看起来有点奇怪.我确信有更好的方法来访问请求.

谢谢

python flask flask-restful

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

是否有类似于Django auth应用程序的Java用户管理包?

我正在寻找一个类似于django的auth应用程序的java包/ spring用户管理包,它提供了数据库模型,例如用户和组开箱即用.

我有一个标准的spring/hibernate应用程序(基于Spring ROO),我想使用现有的User/Group/Role实现而不是重新发明它(实际的身份验证可以使用spring的机制,但我想保存实现用户管理部分的时间).

谢谢您的帮助

java django spring hibernate

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

Django查询 - 具有聚合功能的"case when"

我有以下django模型(映射到表'A'):

class A(models.Model):
    name = models.CharField(max_length=64, null=False)
    value = models.IntegerField()
    ...
Run Code Online (Sandbox Code Playgroud)

我想在顶部执行以下简单查询:

select avg(case 
        when (value > 0 and value <= 50) then 0 
        when (value > 50 and value < 70) then 50 
        else 100 end) 
from A
where ...
Run Code Online (Sandbox Code Playgroud)

我试图避免原始SQL - 如何使用django实现(在上面的例子中我使用avg,但同样的问题也与max,min,sum等相关)?

我尝试使用额外和聚合:

extra(select={'avg_field': case_when_query})
Run Code Online (Sandbox Code Playgroud)

aggregate(Avg('avg_field')), 
Run Code Online (Sandbox Code Playgroud)

但是聚合函数仅适用于模型字段,因此此处不能使用额外字段.如何用django完成?

谢谢您的帮助

django django-models

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

Celery - 通过命令行或HTTP请求激活任务

比方说,我的代码中有一个预定义的芹菜任务 my_proj.tasks.my_celery_task

我想通过命令行/ HTTP请求(而不是通过我的应用程序)激活任务.

我搜索了文件(看到花和卷曲选项),但没有一个真正好的例子,在那里调用预定义的任务.怎么做到这一点?

python scheduled-tasks celery celery-task flower

5
推荐指数
2
解决办法
3383
查看次数

H2数据库在内存中 - 通过Spring/Hibernate的Init模式

我有一个带有H2数据库的Spring/Hibernate应用程序,我在配置H2以嵌入模式(在内存中)运行时遇到一些问题:

1.我希望spring启动H2数据库,所以我创建了以下Spring bean:

<bean id="org.h2.tools.Server" class="org.h2.tools.Server"
        factory-method="createTcpServer" init-method="start" destroy-method="stop">
        <constructor-arg value="-tcp,-tcpAllowOthers,true,-tcpPort,8043" />
    </bean>

    <bean id="org.h2.tools.Server-WebServer" class="org.h2.tools.Server"
        factory-method="createWebServer" init-method="start">
        <constructor-arg value="-web,-webAllowOthers,true,-webPort,8082" />
    </bean>
Run Code Online (Sandbox Code Playgroud)

我是否需要使用tcp服务器才能在内存中使用?这是内存中的正确配置吗?

2.使用上面的配置 - 如何在Hibernate启动之前创建和初始化数据库模式?我知道HSQLDB有一个URL属性,它声明了创建脚本的名称.这里有类似的方法吗?

谢谢您的帮助

java orm spring hibernate h2

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

Django Admin - 如何防止删除某些内联

我有2个模型 - 例如,Book和Page.页面有Book的外键.

每个页面都可以标记为"was_read"(布尔值),我想阻止删除已读取的页面(在管理员中).

在admin中 - Page是Book中的内联(我不希望Page成为管理员中的独立模型).

我的问题 - 我怎样才能实现不会删除被读取的页面的行为?我正在使用Django 1.4,我尝试了几种选择:

  1. 覆盖"删除"以抛出ValidationError - 问题是管理员在删除时没有"捕获"ValidationError而你得到一个错误页面,所以这不是一个好的选择.
  2. 在PageAdminInline中覆盖方法 - has_delete_permission - 这里的问题是-it是每种类型所以要么我允许删除所有页面,要么我不删除.

在没有覆盖HTML代码的情况下还有其他好的选择吗?

谢谢,李

python django django-models django-admin

2
推荐指数
2
解决办法
1767
查看次数

Sqlalchemy(和alembic)具体表继承没有多态联合

我是SQLAlchmey的新手,我正在尝试实现以下对象/ db表结构(通过使用alembic):

class BaseConfig(Base):
 pk = Column(Integer, primary_key=True)
 name = Column(Unicode(150), nullable=False, unique=True)
 ...
 # Lots of other general columns, such as description, display_name, creation time etc.
Run Code Online (Sandbox Code Playgroud)

我希望所有其他配置类继承它的预定义列:

class A(BaseConfig):
  __tablename__ = "A"
  column1 = Column...
  column2 = Column...

class B(BaseConfig):
  __tablename__ = "B"
  column1 = Column...
  column2 = Column...
Run Code Online (Sandbox Code Playgroud)

BaseConfig表不是真正的表,只有拥有公共列一类.除此之外 - A和B之间没有任何关系,也不需要共享的pk等.似乎使用" polymorphic_union "在这里也不相关.

通过尝试运行alembic autogenerate我得到BaseConfig没有表映射类的错误 - 这是真的,我真的没有看到为BaseConfig添加"多态联合"选项的原因,因为这个类是通用的.有什么建议?(在Django和南方这个开箱即用,但在这里似乎不容易支持这种行为).

谢谢,李

python sqlalchemy alembic

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