小编dus*_*ual的帖子

为什么python中的日期时间对象的json序列化不能用于日期时间对象的开箱即用

为什么json序列化不适用于datetime对象.据我了解json序列化,任何对象的基本思想都可以调用 __str__内置函数,然后将你获得的对象作为响应进行urlencode.但是在datetime的情况下,我得到以下错误

TypeError: datetime.datetime(2012, 5, 23, 18, 38, 23, 37566) is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

虽然有__str__一种方法可以对已经可用的物体进行字符串化,但似乎有意识地决定不这样做,为什么会出现这种情况呢?

python serialization json simplejson

52
推荐指数
3
解决办法
3万
查看次数

如何使用sqlalchemy创建外键引用

嗨,我无法理解如何使用sqlalchemy进行外键引用.我在我的数据库中创建了一个新的表客户端:

class Client(DeclarativeBase):

    __tablename__ = 'client'

    id = Column(Integer, primary_key=True)

    user_id = Column(
        Integer,
        ForeignKey('user.id', ondelete='CASCADE'),
        nullable=False,
        index=True,
    )



    orgname = Column(Unicode, nullable=False)

    def __init__(self, **kwargs):
        super(Client, self).__init__(**kwargs)
Run Code Online (Sandbox Code Playgroud)

不是我想做这样的事情

 u = User(user_name=u'dusual')
 session.add(u)
 c = Client(user=u, orgname="dummy_org")
 session.add(c)
Run Code Online (Sandbox Code Playgroud)

但是sqlalchemy喊道:

(K,cls_.))类型错误:"用户"是用于客户端无效的关键字参数

现在不应该明白,应该允许用户作为关键字参数,我如何确保我的表能够采用用户关键字参数.

python sqlalchemy pyramid

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

pycharm是否有任何时间跟踪工具

我刚检查了http://code.google.com/p/rabbit-eclipse/为eclipse做了时间跟踪和自动填充.pycharm有类似的东西吗?

python ide pycharm

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

django formset中的异构形式

我有一个Django表格的问题,在我看来应该已经有一个已经编写的解决方案.

我有几个不同的表单在同一个视图中提交的东西像...(抱歉现在只使用伪代码)..

class Form1():
    #different attributes

class Form2()
    #different attributes   
Run Code Online (Sandbox Code Playgroud)

<html>
  <form>
    {{ 1-instance-Form1 }} 
    {{ 2-instance-Form1 }}
    {{ 1-instance-Form2 }}
    {{ 2-instance-Form2 }}
  </form>
</html>
Run Code Online (Sandbox Code Playgroud)

除此之外,我想让用户能够通过jquery添加一个表单类的表单实例,这样表单可能会变成

<html>
  <form>
    {{ 1-instance-Form1 }}
    {{ 2-instance-Form1 }}
    {{ 1-instance-Form2 }}
    {{ 2-instance-Form2 }}
    {{ 3-instance-Form2 }}
  </form>
</html>
Run Code Online (Sandbox Code Playgroud)

现在在寻找解决这个问题的方法时,我遇到了Django formset的概念,正如文档描述的那样,它是同一Form类的实例的集合.但是我可以看到formsets也可以处理异构表单:

一些定义改变了

class BaseHeterogenousFormSet(StrAndUnicode):

    def append(form):
    #add one more form to the formset

    def is_valid():
    #run is_valid for each of the forms in the formset

    def clean():
        #run the clean for each of …
Run Code Online (Sandbox Code Playgroud)

python django django-forms

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

将中间件放入django是多么昂贵

我写的是一个非常简单的应用程序.

  1. 要登录该应用的Facebook画布用户
  2. 要进行一些访问者跟踪,大多数代码都非常简单.

该应用程序可能并不复杂,非常接近博客系统.但是,我想知道我的中间件架构在资源方面会有多么昂贵.

特别令我担心的一件事是,每次发出唯一请求时都会创建一个新的访问者对象.这是一个好主意吗 ?

因此,虽然中间件是一个令人惊叹的DRY和敏捷概念,但它们在性能方面的表现如何.

谢谢

architecture django web-applications django-middleware

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

python正则表达式匹配整个行与特定的正则表达式模式

我有一个带有正则表达式模式列表的文件和包含'\n'的字符串,即带有单独行的字符串...我需要一个通用的正则表达式,它可以匹配整个行与正则表达式文件中的模式,这样我就可以做类似的事情

re.compile(r'generic_regex%s')%regex_pattern来自文件,它自动匹配整行,就像grep一样.

有任何想法吗??

python regex

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

在 turbogears/sqlalchemy 中独一无二的 django

这个问题主要分为两部分。1. 我有一种情况,我要求事物在一起是唯一的,即 db 中的元素需要彼此唯一。

假设我们有一个模型 Things(Rough PseudoCode)

Class ShoppingList( object ):
     thing1_id = Column(Integer)
     thing2_id = Column(Integer)
Run Code Online (Sandbox Code Playgroud)

现在我需要 thing1_id 和 thing2_id 一起是唯一的,即 thing1_id 和 thing2_id 的集合需要一起唯一。来自 django 世界,我知道你可以在 unique_together 的 django 模型中做一个元声明。但是在涡轮齿轮中如何做到这一点。

  1. 另外我如何在遗留系统上实际应用 unique_together 。

python django sqlalchemy turbogears

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

使用 sqlalchemy 实现“软删除”系统

我们正在使用 tornado 和 sqlalchemy 为应用程序创建服务。该应用程序是用 django 编写的,并使用“软删除机制”。这意味着底层 mysql 表中没有删除。要将一行标记为已删除,我们只需将属性“删除”设置为 True。但是,在服务中我们使用的是 sqlalchemy。最初,我们开始在通过 sqlalchemy 本身进行的查询中添加删除检查,例如:

customers = db.query(Customer).filter(not_(Customer.deleted)).all()
Run Code Online (Sandbox Code Playgroud)

然而,这会导致许多潜在的错误,因为开发人员往往会错过查询中删除的检查。因此,我们决定使用我们的查询类覆盖默认查询,该类执行“预过滤”:

class SafeDeleteMixin(Query):
    def __iter__(self):
        return Query.__iter__(self.deleted_filter())
    def from_self(self, *ent):
        # override from_self() to automatically apply
        # the criterion too.   this works with count() and
        # others.
        return Query.from_self(self.deleted_filter(), *ent)
    def deleted_filter(self):
        mzero = self._mapper_zero()
        if mzero is not None:
            crit = mzero.class_.deleted == False
            return self.enable_assertions(False).filter(crit)
        else:
            return self
Run Code Online (Sandbox Code Playgroud)

这灵感来自 sqlalchemy 文档的解决方案:

https://bitbucket.org/zzzeek/sqlalchemy/wiki/UsageRecipes/PreFilteredQuery
Run Code Online (Sandbox Code Playgroud)

但是,我们仍然面临一些问题,例如在我们同时进行过滤和更新并且使用上面定义的这个查询类的情况下,更新不遵守delete=False应用过滤器进行更新的标准。

db = CustomSession(with_deleted=False)()
result = db.query(Customer).filter(Customer.id == …
Run Code Online (Sandbox Code Playgroud)

orm sqlalchemy

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