<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # **文檔管理系統** * 技術名稱: _document_ * 添加此模塊后,數據記錄可關聯附件。 * 附件大小為25M. * 附件大小的限制在In file: ..\/addons\/web\/static\/src\/js\/view\_form.js \( line 4963\) this.max\_upload\_size = 25 \* 1024 \* 1024; * 默認情況下,這些附件在OpenERP v7中是保存在數據庫中的 * 在OpenERP 中我們可以通過設置ir.config.parameter參數來使附件保存在文件系統中,具體菜單位置是:”設置-技術-參數-系統參數-ir\_attachement.location” \(Settings-&gt;Technical-&gt;Parameters-System parameters- ir\_attachment.location) 比如我們將`ir_attachment.location`設置為`file:///filestore` 那么這些附件就會保存在`openerp根目錄/filestore下`, 系統使用sha1哈希算法來創建文件名所以重復的文件在系統中并不會多占空間。 目前只支持`file:///`協議,實際上我們可以很容易通過擴增模塊來支持比如`amazons3:///協議,這樣我們就可以將附件保存在亞馬遜的S3云服務了。` 數據庫保存附件的模式下,數據是保存在`ir_attachment.db_datas`中 文件系統保存附件的模式下,文件名保存在`ir_attachment.db_datas_fname`中 我們尚為提供這兩種模式的自動轉換機制。所以,如果你設置了這個參數,那么已存在的附件仍將保存在數據庫中,只有新附件會保存在文件系統中,系統會嘗試訪問這兩個不同的位置,所以也沒什么問題(先檢查db\_datas,然后再檢查db\_datas\_fname\) **注:**本文末尾提供的腳本可以自動將現有數據庫中的附件轉換到文件系統中 如果你移除了這個參數,你需要設法將在文件系統中保存的附件存回到數據庫中,因為系統就只會通過數據庫來檢查附件了。 將現有數據庫中的附件數據轉移到文件系統中的腳本\(替換URL為您的OpenERP實際訪問URL地址): | `#!/usr/bin/python` `import` `xmlrpclib` `username = 'admin'` `#the userpwd` `= 'password'` `#the password of the userdbname = 'database'` `#the database` `# Get the uidsock_common = xmlrpclib.ServerProxy ('<URL>/xmlrpc/common')uid = sock_common.login(dbname, username, pwd)sock = xmlrpclib.ServerProxy('<URL>/xmlrpc/object')` `def migrate_attachment(att_id): # 1. get data att = sock.execute(dbname, uid, pwd, 'ir.attachment', 'read', att_id, ['datas']) data = att['datas'] # Re-Write attachment a = sock.execute(dbname, uid, pwd, 'ir.attachment', 'write', [att_id], {'datas': data})` `# SELECT attachments:att_ids = sock.execute(dbname, uid, pwd, 'ir.attachment', 'search', [('store_fname','=',False)])` `cnt = len(att_ids)i = 0for` `id` `in` `att_ids: att = sock.execute(dbname, uid, pwd, 'ir.attachment', 'read', id, ['datas','parent_id']) migrate_attachment(id) print 'Migrated ID %d (attachment %d of %d)'` `% (id,i,cnt) i = i + 1` `print "done ..."` | | --- | 運行這個腳本后,我們還需要清除ir\_attachements表: | `update` `ir_attachment set` `db_datas = null` `where` `store_fname is` `not` `nullvacuum (full, analyze) ir_attachment` | | --- |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看