1. <small id='RmmSX'></small><noframes id='RmmSX'>

        <bdo id='RmmSX'></bdo><ul id='RmmSX'></ul>
      <legend id='RmmSX'><style id='RmmSX'><dir id='RmmSX'><q id='RmmSX'></q></dir></style></legend>

    2. <i id='RmmSX'><tr id='RmmSX'><dt id='RmmSX'><q id='RmmSX'><span id='RmmSX'><b id='RmmSX'><form id='RmmSX'><ins id='RmmSX'></ins><ul id='RmmSX'></ul><sub id='RmmSX'></sub></form><legend id='RmmSX'></legend><bdo id='RmmSX'><pre id='RmmSX'><center id='RmmSX'></center></pre></bdo></b><th id='RmmSX'></th></span></q></dt></tr></i><div id='RmmSX'><tfoot id='RmmSX'></tfoot><dl id='RmmSX'><fieldset id='RmmSX'></fieldset></dl></div>

      <tfoot id='RmmSX'></tfoot>

        SQLAlchemy Columns 结果处理

        时间:2023-09-10

          <legend id='P7wym'><style id='P7wym'><dir id='P7wym'><q id='P7wym'></q></dir></style></legend>
            • <bdo id='P7wym'></bdo><ul id='P7wym'></ul>
              <tfoot id='P7wym'></tfoot>

                • <small id='P7wym'></small><noframes id='P7wym'>

                    <tbody id='P7wym'></tbody>
                  <i id='P7wym'><tr id='P7wym'><dt id='P7wym'><q id='P7wym'><span id='P7wym'><b id='P7wym'><form id='P7wym'><ins id='P7wym'></ins><ul id='P7wym'></ul><sub id='P7wym'></sub></form><legend id='P7wym'></legend><bdo id='P7wym'><pre id='P7wym'><center id='P7wym'></center></pre></bdo></b><th id='P7wym'></th></span></q></dt></tr></i><div id='P7wym'><tfoot id='P7wym'></tfoot><dl id='P7wym'><fieldset id='P7wym'></fieldset></dl></div>
                • 本文介绍了SQLAlchemy Columns 结果处理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我正在使用 ibm_db2 驱动程序和 sqlalchemy 处理 IBM DB2 数据库.我的模型是:

                  I'm working with a IBM DB2 database using ibm_db2 driver and sqlalchemy. My model is:

                  class User(Model):
                      id          = Column('UID', Integer, primary_key=True)
                      user        = Column('USER', String(20))
                      password    = Column('PASSWORD', String(10))
                      name        = Column('NAME', String(30))
                  

                  数据库中的字符串字段(例如 name)采用以下形式:

                  String fields from the database (e.g. name) comes in the form of:

                  >>> "John                                "
                  

                  ,其中值由模式填充到字段的完整长度.

                  , where the value is filled right with blanks to the full length of the field by schema.

                  我需要将此行为更改为在 query.all():

                  I need to change this behavior to the sqlalchemy type String (or a derivative thereof) produced follow (e.g. value.strip()) before output results by query.all():

                  >>> "John"
                  

                  我该怎么做?

                  @property 装饰器不适用.我需要更改标准 sqlalchemy String 类的行为.

                  @property decorator is not applicable. I need to change the behavior of a standard sqlalchemy String class.

                  推荐答案

                  我不想改变标准 String 的行为,而是创建一个新类型(然后你可以将它重命名为 String per module based 或其他)但是这样最干净:

                  I would not want to change the behaviour of the standard String but to make a new type (you can then rename it to String per module basis or whatever) but it is cleanest that way:

                  from sqlalchemy import types
                  
                  class StrippedString(types.TypeDecorator):
                      """
                      Returns CHAR values with spaces stripped
                      """
                  
                      impl = types.String
                  
                      def process_bind_param(self, value, dialect):
                          "No-op"
                          return value
                  
                      def process_result_value(self, value, dialect):
                          """
                          Strip the trailing spaces on resulting values.
                          If value is false, we return it as-is; it might be none
                          for nullable columns
                          """
                          return value.rstrip() if value else value
                  
                      def copy(self):
                          "Make a copy of this type"
                          return StrippedString(self.impl.length)
                  

                  现在您可以使用 StrippedString 代替 String

                  Now you can use StrippedString instead of String

                  这篇关于SQLAlchemy Columns 结果处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:将 IBM_DB 与 Pandas 一起使用 下一篇:在 Python 中执行 BASH 命令——在同一进程中

                  相关文章

                  最新文章

                  <legend id='Yg9eh'><style id='Yg9eh'><dir id='Yg9eh'><q id='Yg9eh'></q></dir></style></legend>
                  <i id='Yg9eh'><tr id='Yg9eh'><dt id='Yg9eh'><q id='Yg9eh'><span id='Yg9eh'><b id='Yg9eh'><form id='Yg9eh'><ins id='Yg9eh'></ins><ul id='Yg9eh'></ul><sub id='Yg9eh'></sub></form><legend id='Yg9eh'></legend><bdo id='Yg9eh'><pre id='Yg9eh'><center id='Yg9eh'></center></pre></bdo></b><th id='Yg9eh'></th></span></q></dt></tr></i><div id='Yg9eh'><tfoot id='Yg9eh'></tfoot><dl id='Yg9eh'><fieldset id='Yg9eh'></fieldset></dl></div>

                • <small id='Yg9eh'></small><noframes id='Yg9eh'>

                  <tfoot id='Yg9eh'></tfoot>

                        <bdo id='Yg9eh'></bdo><ul id='Yg9eh'></ul>