Django 模型中自定義欄位型別Field
來一個簡單的例子吧。
1. 減少文字的長度,儲存資料的時候壓縮,讀取的時候解壓縮,如果發現壓縮後更長,就用原文字直接儲存:
Django 1.7 以下
1234567891011121314151617181920212223242526272829303132 | from django.db import models class CompressedTextField(models.TextField): """ model Fields for storing text in a compressed format (bz2 by default) """ __metaclass__ = models.SubfieldBase def to_python( self , value): if not value: return value try : return value.decode( 'base64' ).decode( 'bz2' ).decode( 'utf-8' ) except Exception: return value def get_prep_value( self , value): if not value: return value try : value.decode( 'base64' ) return value except Exception: try : tmp = value.encode( 'utf-8' ).encode( 'bz2' ).encode( 'base64' ) except Exception: return value else : if len (tmp) > len (value): return value return tmp |
to_python 函式用於轉化資料庫中的字元到 Python的變數, get_prep_value 用於將Python變數處理後(此處為壓縮)儲存到資料庫,使用和Django自帶的 Field 一樣。
Django 1.8 以上版本,可以用
1234567891011121314151617181920212223242526272829303132相關推薦Django 模型中自定義欄位型別Field來一個簡單的例子吧。1. 減少文字的長度,儲存資料的時候壓縮,讀取的時候解壓縮,如果發現壓縮後更長,就用原文字直接儲存:Django 1.7 以下1234567891011121314151617181920212223242526272829303132from djang django 模型中的計算欄位也可以把計算欄位寫在modelAdmin中 models.py class Person(models.Model): family_name= models.CharField(max_length=20, verbose_name='姓') given_name = models.Cha liferay中自定義欄位及部分路由說明在liferay站點->站點設定->自定義欄位,中,對於這個儲存,首先,我們可以檢視form提交的action, form中acion連線為:http://localhost:8082/group/control_panel/manage? p_auth=he 讓DEDE內容模型自定義欄位在搜尋結果中顯示的辦法function Search_addfields($id,$result){ global $dsql; $row4 = $dsql->GetOne("SELECT * FROM `#@__addonshop22` where aid='$id'"); //#@__addonshop22是你內 django自定義非主鍵自增欄位型別(auto increment field)1.django自定義欄位型別,實現非主鍵欄位的自增 # -*- encoding: utf-8 -*- from django.db.models.fields import Field, IntegerField from django.core i 織夢獲取自定義欄位附件型別檔案的格式型別檔案大小上傳日期內容頁顯示效果 實現步驟 1、\templets\system\channel_addon.htm 裡面要清空,只留~link~ (注意:前後不能留有一個空格) 2、/include/extend.func.php 最下面加入方法 function GetFileInfo destoon-自定義欄位新增到供應列表模糊搜尋中/module/sell/sell.class.php $keyword = $item['title'].','.$TYPE[$item['typeid']].','.strip_tags(cat_pos(get_cat($item['catid']), ',')); Django——7 常用的查詢 常用的模型欄位型別 Field的常用引數 表關係的實現Django 常用的查詢 常用的查詢方法 常用的查詢條件 常用欄位對映關係 Field常用引數 表關係的實現 查用的查詢方法 這是需要用到的資料 from django.http import Htt DEDECMS自定義欄位為附件型別呼叫連結地址的方法DEDECMS自定義欄位為附件時呼叫不帶樣式修改方法 當我們在系統模型中添加了一個自定義附件型別欄位的時候,例如我在後臺新增一個名為"fujian"的附件型別的欄位,欄位的實際內容為:'/uploads/soft/100602/1-100602212355.jpg' 倘若前 在thinkcmf5中實現為各個分類下的文章新增自定義欄位的想法前言 這裡只是自己的一個想法。此想法只完成了裡面的一部分。記於此,希望有同樣需求的同學們共同討論和學習。 我也是剛學習使用這個框架。在學習使用的過程中有這樣的一個需求。我的某一個文章分類下面的文章需要新增兩個欄位(原價、現價),我想很多同學都有這樣的需求吧。 在tp中資料去重並獲取自定義欄位在專案中用到了TP的去重功能,將其中的坑和一些收穫記錄下來 用文件中提供的distinct方法去重只能獲取資料中能獲取field中的欄位資料,程式碼如下 //會員模型 $member_mod 織夢dede:arclist按照自定義欄位的條件呼叫相關文章dedecms織夢dede:arclist按照自定義欄位的條件呼叫相關文章,這對於想要在首頁呼叫某個自定義欄位的文章的同學來講,非常不錯 開啟 /include/taglib/arclist.lib.php 找到 //關鍵字條件 在它的上面加入 //自定義欄位關鍵字條件 if($ctag->G 織夢likearticle呼叫附加自定義欄位在dedecms文章頁中我們經常會顯示相關文章之類的文章列表,就需要使用{dede:likearticle}標籤,但是預設的likearticle是不能顯示自定義的附加欄位的。 解決辦法 開啟 include/taglib/likearticle.lib.php 找到 if($keyword != '' 織夢新增超過兩百個自定義欄位後在使用addfields呼叫自定義欄位出錯的解決方法dedecsm 自定義模型 新增自定義欄位(個數一百多個),使用addfields 方法呼叫,出現呼叫不出來的情況【addfields 裡面就能新增145個欄位,多了直接亂碼或者無法顯示】 解決方法 分別開啟 include/dedehtml2.class. spring data jpa 查詢自定義欄位,轉換為自定義實體目標:查詢資料庫中的欄位,然後轉換成 JSON 格式的資料,返回前臺。 環境:idea 2016.3.4, jdk 1.8, mysql 5.6, spring-boot 1.5.2 背景:首先建立 entity 對映資料庫(非專業 java 不知道這怎麼說) @Entity @Tab 微信小程式自定義欄位實現選項的動態新增和刪除問題描述: 在自定義選項中,點選新增選項按鈕,會出現一個選項的輸入框,輸入的選項可以通過點選左側的減號刪除 效果如圖: 解決過程: 1.首先寫出大體的框架。在pages下,建立了一個selfdefine的資料夾,在wxml中寫出靜態結構 selfdefine.wxml 說明 dede文章增加HTML自定義欄位字元被過濾問題在dedecms後臺頻道模型增加自定義欄位,一般HTML文字編輯器能解決使用者編輯問題,當然還包括純單行或多行文字編輯。但發現dedecms會自動過濾掉某些敏感的字元,比如style樣式,百度地圖js呼叫問題。下面主要圍繞著兩個問題分享一下新聞發言人開放時候的一些經驗。 織夢likearticle標籤呼叫和顯示附加欄位(自定義欄位)辦法在Dedecms文章頁中我們經常會顯示相關文章之類的文章列表,就需要使用{dede:likearticle}標籤,但是預設的 likearticle是不能顯示自定義的附加欄位的。解決辦法: 修改include/taglib/likearticle.lib.php. 大概在178行 $ PHPCMS推薦位呼叫自定義欄位第1步:成功登入到phpcms後臺。 第2步:開啟內容>>內容相關設定>>模型管理>>找到自己相對應的模型。 第3步:開啟模型找到並開啟“欄位管理”,在自己需要顯示的欄位上點選“修改”。 第4步:在最後倒數第三個”在推薦位標籤中呼叫“上選擇是並確定儲存 log4net配置自定義欄位存入資料庫前言 以bs專案中引入log4net為例。log4net存入資料庫提供了基本的(時間、執行緒、等級、message)欄位。 但是實際日誌場景中可能需要統計IP、使用者ID或者其他業務相關的資訊記入日誌。 需要重寫log4net的部分方法來實現。本文展示使用log4net從0開始到記錄自定 |