-
检查模型和客户端( Excel 原型图)字段是否对应
-
修改 applications\commands\metadata\cai_liao_ she_bei_metadata.yaml 文件
wen_jian_db_conf 下的 all 下的 content_field_name 选项,要根据 model 中写的文件路径找到对应的 model,去看用的是哪个文件信息(Info)。
需要添加exclude_fields_type: add
。
其他注意事项:
枚举类要写成下面这种形式:
ji_hua_qi: type: enum interm_table_class: JiHuaQiType
有枚举类的话,还要在这个文件中引入枚举类
common\metadata\enum_factory.py
-
生成metadata输出文件,使用命令 flask create_metadata -i [metadata.yaml文件相对路径]
-
在 applications\python_class\cai_liao_yu_she_bei\_init_.py 和 applications\python_class\__init__ .py 导入自动生成的 Class
_init_.py 文件的作用是把相对路径下的所有文件夹全部导入到当前 init 文件中,层层深入,可以达到根目录下的 init 文件中会包含当前目录下所有的信息。
-
完成自动生成的 processor 和 test processor 文件
test_wu_zi_yang_pin_song_shen_biao_processor 文件中的以下两部分内容,要与 applications\config\sheet_processors\cai_liao_yu_she_bei_sheet_processor.yaml 中的 sheet_type 和 applications\config\processors\cai_liao_yu_she_bei_processor.yaml 中的最外层级的 field_name 分别保持一致。
初次创建的metadata文件要在
applications\config\sheet_processor.yaml
和applications\config\processor.yaml
文件中引入相关的类。
测试文件中有多对多关系时,要在测试文件进行相关测试:
many_to_many字段的类,要在many_to_class文件中导入该类。
processer文件中要注意:
多个嵌套表时,processor中要添加入child_fk_name = 'zhao_biao_wen_jian_id'
,值为关联id
。test_processor中测试文件的 data 部分以及 processor 中的需要写字段的位置,key 值要与
applications\config\processors\zhao_biao_yu_he_yue_processor.yaml
中自动生成的字段一致。有时候放在 foot 和 head 中的字段会有接收不到数据的情况,要把它放在 content_data 中。取字段内容的时候,要使用applications\config\processors\zhao_biao_yu_he_yue_processor.yaml
中定义的每个字段对应的 key 值。日期类不仅要在 processor 中特殊处理,在测试的时候也需要特殊转义:
assert zhao_biao_cai_gou_ji_hua.ji_hua_shi_jian.strftime('%Y-%m-%d') == '2021-10-11'
枚举类断言要写成下面这种写法:
assert zhao_biao_cai_gou_ji_hua.ji_hua_qi == JiHuaQiType.nian_du
测试文件中,只需要测试 processor 文件中的这几个地方的字段就好:
-
在 common\metadata\field_conf_factory.py 文件中,导入 metadata.yaml 文件中使用的类
-
在 common\metadata\processor_factory.py 文件中,导入第5步中的 processor 文件
-
通过 pytest,使用命令 pytest [要执行的测试文件或测试文件文件夹]
从编写metadata.yaml到测试processor文件成功
猜你喜欢
转载自blog.csdn.net/weixin_45605541/article/details/131705209
今日推荐
周排行