pythonインタフェーステストケースフレームワーク(3)-Entity
entity,エンティティ,前述したエンティティクラスについて述べたが,このモジュールの役割はデータ層の取得であり,簡単に言えば,データベースからデータを取得して前述したデータベースのエンティティクラスに組み込む.
これは私が1つのクエリーに記録したインスタンスで、listであれば、そのままループ処理すればいいので、簡単です.
まずmoudleモジュールをインポート
これは私が1つのクエリーに記録したインスタンスで、listであれば、そのままループ処理すればいいので、簡単です.
まずmoudleモジュールをインポート
import moudle
class Entity:
def get_info_by_keyID(self, keyID):
# ,sql_exec pymysql fetchall()
data = Component.Common.sql_exec(
sqls="SELECT * FROM {0} where keyID='%s'".format(" ")
% keyID, dbname=" ").execute()
# object_InDo
parm = self.object_InDo(data, " ", " ")[0]
# to object
return moudle.MInfo(**parm)
@staticmethod
def object_InDo(data, table_name, dbname):
"""
:param data:
:param table_name:
:param dbname:
:return: model list
"""
if data is None:
data = ((),)
head = Common().sql_exec(
sqls="SELECT COLUMN_NAME from COLUMNS where table_name = '%s' and table_schema = '%s';" % (table_name, dbname)
, dbname="information_schema").execute()
#
info = {}
info_list = []
for item in data:
data_list = list(item)
#
for i in range(len(head)):
if isinstance(data_list[i], datetime.datetime):
data_list[i] = data_list[i].strftime('%Y-%m-%d %H:%M:%S')
if isinstance(data_list[i], Decimal):
data_list[i] = float(data_list[i])
info[head[i][0]] = data_list[i]
info_list.append(info)
return info_list
は実際に実現することは重要ではなく、主に用例構築モジュール化の思想であり、用例の中でデータを取得するすべての場所がここに集中して統一的に管理され、1つのフィールドを取得しても、実体クラスをロードする必要がないのは同じである.使用例効率を向上させるには、多重性を向上させる必要があります.