主子表关联不上,无法显示

image

代码里面有语法错误,你应该是手动修改代码了? 你先自己检查下。没找到原因的话,贴上这个文件的源码

from models.NormalType import NormalModel

from datatypes.Meta import datatypes

class qualitativeDetails(NormalModel):

id = datatypes.AutoInt(name = "id" , title = "自增主键,唯一标识一条测试数据" , primaryKey = True , fromDb = 1)

break_elongation = datatypes.Numeric(name = "break_elongation" , title = "断裂伸长,单位mm" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)

break_elongation_rate = datatypes.Numeric(name = "break_elongation_rate" , title = "断裂伸长率,单位%" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)

break_strength = datatypes.Numeric(name = "break_strength" , title = "断裂强力,单位cN" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)

break_strength_index = datatypes.Numeric(name = "break_strength_index" , title = "断裂强度指数,单位cN/dtex" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)

break_time = datatypes.Numeric(name = "break_time" , title = "断裂时间,单位S" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)

create_time = datatypes.Datetime(name = "create_time" , title = "记录创建时间" , dateTimeFormat = "YYYY-MM-DD HH:mm:ss" , formatDate = "YYYY-MM-DD" , formatTime = "HH:mm:ss" , dateTimeType = "SECOND" , createDefault = False , updateDefault = False , primaryKey = False , fromDb = 1)

elastic_modulus = datatypes.Numeric(name = "elastic_modulus" , title = "弹性模量,单位cN/dtex" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)

elongation_strength = datatypes.Numeric(name = "elongation_strength" , title = "定伸长强力,单位cN" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)

initial_modulus = datatypes.Numeric(name = "initial_modulus" , title = "初始模量,单位cN/dtex" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)

test_info_id = datatypes.RelateData(title = "关联的测试信息ID,用于关联基础测试信息表" , name = "test_info_id" , relateType = "mto" , generic = "models.qualityChecklist" , relateField = "id" , relateFieldType = "AutoInt")

test_number = datatypes.AutoInt(name = "test_number" , title = "测试编号,标识该次测试中的第几个样本" , primaryKey = False , fromDb = 1)

update_time = datatypes.Datetime(name = "update_time" , title = "记录更新时间" , dateTimeFormat = "YYYY-MM-DD HH:mm:ss" , formatDate = "YYYY-MM-DD" , formatTime = "HH:mm:ss" , dateTimeType = "SECOND" , createDefault = False , updateDefault = False , primaryKey = False , fromDb = 1)





class Meta:

    modelType = "NormalType"

    db = "databases.GoldPlatter"

    dataTitle = None

    dbTable = "fiber_test_data"

    name = "qualitativeDetails"

    baseModel = ""

    unionIndexList = \[\]

    unionUniqueList = \[\]

from models.NormalType import NormalModel

from datatypes.Meta import datatypes

class qualityChecklist(NormalModel):

id = datatypes.AutoInt(name = "id" , title = "主键ID" , primaryKey = True , fromDb = 1)

report_type = datatypes.Stext(name = "report_type" , title = "报告类型" , isAllowScan = False , primaryKey = False , fromDb = 1)

test_date = datatypes.Date(name = "test_date" , title = "试验日期" , formatDate = "YYYY年MM月DD日" , dateTimeType = "DAY" , primaryKey = False , fromDb = 1 , dateTimeFormat = "YYYY-MM-DD" , createDefault = False , updateDefault = False)

test_time = datatypes.Time(name = "test_time" , title = "试验时间" , dateTimeType = "SECOND" , primaryKey = False , fromDb = 1 , dateTimeFormat = "HH:mm:ss")

env_humidity = datatypes.Stext(name = "env_humidity" , title = "环境湿度" , isAllowScan = False , primaryKey = False , fromDb = 1)

env_temperature = datatypes.Numeric(name = "env_temperature" , title = "环境温度(℃)" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)

sample_name = datatypes.Stext(name = "sample_name" , title = "试样品名" , isAllowScan = False , primaryKey = False , fromDb = 1)

sample_length = datatypes.Numeric(name = "sample_length" , title = "试样批号" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)

operator = datatypes.Stext(name = "operator" , title = "试验员" , isAllowScan = False , primaryKey = False , fromDb = 1)

machine_model = datatypes.Stext(name = "machine_model" , title = "试验单位" , isAllowScan = False , primaryKey = False , fromDb = 1)

sample_count = datatypes.Numeric(name = "sample_count" , title = "试样次数" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)

add_length = datatypes.Stext(name = "add_length" , title = "夹持长度" , isAllowScan = False , primaryKey = False , fromDb = 1)

stretch_speed = datatypes.Stext(name = "stretch_speed" , title = "拉伸速度" , isAllowScan = False , primaryKey = False , fromDb = 1)

sample_fineness = datatypes.Stext(name = "sample_fineness" , title = "试样细度" , isAllowScan = False , primaryKey = False , fromDb = 1)

force_drop = datatypes.Stext(name = "force_drop" , title = "力降" , isAllowScan = False , primaryKey = False , fromDb = 1)

constant_elongation = datatypes.Stext(name = "constant_elongation" , title = "定伸长" , isAllowScan = False , primaryKey = False , fromDb = 1)

create_time = datatypes.Datetime(name = "create_time" , title = "数据录入时间" , dateTimeFormat = "YYYY-MM-DD HH:mm:ss" , formatDate = "YYYY-MM-DD" , formatTime = "HH:mm:ss" , dateTimeType = "SECOND" , createDefault = False , updateDefault = False , primaryKey = False , fromDb = 1)

f914 = datatypes.SubTable(title = "子表" , name = "f914" , relateField = "test_info_id" , relateFieldType = "RelateData" , generic = "models.qualitativeDetails" , relateType = "sub")



class Meta:

    modelType = "NormalType"

    db = "databases.GoldPlatter"

    dataTitle = None

    dbTable = "fiber_test_info"

    name = "qualityChecklist"

    baseModel = ""

    unionIndexList = \[\]

    unionUniqueList = \[\]

class qualitativeDetails(NormalModel):

break_elongation = datatypes.Numeric(name="break_elongation", title="断裂伸长,单位mm", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)

break_elongation_rate = datatypes.Numeric(name="break_elongation_rate", title="断裂伸长率,单位%", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)

break_strength = datatypes.Numeric(name="break_strength", title="断裂强力,单位cN", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)

break_strength_index = datatypes.Numeric(name="break_strength_index", title="断裂强度指数,单位cN/dtex", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)

break_time = datatypes.Numeric(name="break_time", title="断裂时间,单位S", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)

create_time = datatypes.Datetime(name="create_time", title="记录创建时间", dateTimeFormat="YYYY-MM-DD HH:mm:ss", formatDate="YYYY-MM-DD", formatTime="HH:mm:ss", dateTimeType="SECOND", createDefault=False, updateDefault=False, primaryKey=False, fromDb=1)

elastic_modulus = datatypes.Numeric(name="elastic_modulus", title="弹性模量,单位cN/dtex", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)

elongation_strength = datatypes.Numeric(name="elongation_strength", title="定伸长强力,单位cN", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)

id = datatypes.AutoInt(name="id", title="自增主键,唯一标识一条测试数据", primaryKey=True, fromDb=1)

initial_modulus = datatypes.Numeric(name="initial_modulus", title="初始模量,单位cN/dtex", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)

test_info_id = datatypes.RelateData(title="关联的测试信息ID,用于关联基础测试信息表", name="test_info_id", relateType="mto", generic="models.qualityChecklist", relateField="id", relateFieldType="AutoInt")

test_number = datatypes.AutoInt(name="test_number", title="测试编号,标识该次测试中的第几个样本", primaryKey=False, fromDb=1)

update_time = datatypes.Datetime(name="update_time", title="记录更新时间", dateTimeFormat="YYYY-MM-DD HH:mm:ss", formatDate="YYYY-MM-DD", formatTime="HH:mm:ss", dateTimeType="SECOND", createDefault=False, updateDefault=False, primaryKey=False, fromDb=1)



class Meta:

    modelType = "NormalType"

    db = "databases.GoldPlatter"

    dataTitle = None

    dbTable = "fiber_test_data"

    name = "qualitativeDetails"

    baseModel = ""

    unionIndexList = \[\]

    unionUniqueList = \[\]

我把关联的字段名在代码里改了

极态不能使用数据库里自己的关联字段吗

from models.NormalType import NormalModel
from datatypes.Meta import datatypes

class qualitativeDetails(NormalModel):
    id = datatypes.AutoInt(name = "id" , title = "自增主键,唯一标识一条测试数据" , primaryKey = True , fromDb = 1)
    break_elongation = datatypes.Numeric(name = "break_elongation" , title = "断裂伸长,单位mm" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)
    break_elongation_rate = datatypes.Numeric(name = "break_elongation_rate" , title = "断裂伸长率,单位%" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)
    break_strength = datatypes.Numeric(name = "break_strength" , title = "断裂强力,单位cN" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)
    break_strength_index = datatypes.Numeric(name = "break_strength_index" , title = "断裂强度指数,单位cN/dtex" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)
    break_time = datatypes.Numeric(name = "break_time" , title = "断裂时间,单位S" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)
    create_time = datatypes.Datetime(name = "create_time" , title = "记录创建时间" , dateTimeFormat = "YYYY-MM-DD HH:mm:ss" , formatDate = "YYYY-MM-DD" , formatTime = "HH:mm:ss" , dateTimeType = "SECOND" , createDefault = False , updateDefault = False , primaryKey = False , fromDb = 1)
    elastic_modulus = datatypes.Numeric(name = "elastic_modulus" , title = "弹性模量,单位cN/dtex" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)
    elongation_strength = datatypes.Numeric(name = "elongation_strength" , title = "定伸长强力,单位cN" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)
    initial_modulus = datatypes.Numeric(name = "initial_modulus" , title = "初始模量,单位cN/dtex" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)
    test_info_id = datatypes.RelateData(title = "关联的测试信息ID,用于关联基础测试信息表" , name = "test_info_id" , relateType = "mto" , generic = "models.qualityChecklist" , relateField = "id" , relateFieldType = "AutoInt")
    test_number = datatypes.AutoInt(name = "test_number" , title = "测试编号,标识该次测试中的第几个样本" , primaryKey = False , fromDb = 1)
    update_time = datatypes.Datetime(name = "update_time" , title = "记录更新时间" , dateTimeFormat = "YYYY-MM-DD HH:mm:ss" , formatDate = "YYYY-MM-DD" , formatTime = "HH:mm:ss" , dateTimeType = "SECOND" , createDefault = False , updateDefault = False , primaryKey = False , fromDb = 1)
  

    class Meta:
        modelType = "NormalType"
        db = "databases.GoldPlatter"
        dataTitle = None
        dbTable = "fiber_test_data"
        name = "qualitativeDetails"
        baseModel = ""
        unionIndexList = []
        unionUniqueList = []

from models.NormalType import NormalModel
from datatypes.Meta import datatypes

class qualityChecklist(NormalModel):
    id = datatypes.AutoInt(name = "id" , title = "主键ID" , primaryKey = True , fromDb = 1)
    report_type = datatypes.Stext(name = "report_type" , title = "报告类型" , isAllowScan = False , primaryKey = False , fromDb = 1)
    test_date = datatypes.Date(name = "test_date" , title = "试验日期" , formatDate = "YYYY年MM月DD日" , dateTimeType = "DAY" , primaryKey = False , fromDb = 1 , dateTimeFormat = "YYYY-MM-DD" , createDefault = False , updateDefault = False)
    test_time = datatypes.Time(name = "test_time" , title = "试验时间" , dateTimeType = "SECOND" , primaryKey = False , fromDb = 1 , dateTimeFormat = "HH:mm:ss")
    env_humidity = datatypes.Stext(name = "env_humidity" , title = "环境湿度" , isAllowScan = False , primaryKey = False , fromDb = 1)
    env_temperature = datatypes.Numeric(name = "env_temperature" , title = "环境温度(℃)" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)
    sample_name = datatypes.Stext(name = "sample_name" , title = "试样品名" , isAllowScan = False , primaryKey = False , fromDb = 1)
    sample_length = datatypes.Numeric(name = "sample_length" , title = "试样批号" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)
    operator = datatypes.Stext(name = "operator" , title = "试验员" , isAllowScan = False , primaryKey = False , fromDb = 1)
    machine_model = datatypes.Stext(name = "machine_model" , title = "试验单位" , isAllowScan = False , primaryKey = False , fromDb = 1)
    sample_count = datatypes.Numeric(name = "sample_count" , title = "试样次数" , decimal = 0 , unit = "" , placeholder = "" , primaryKey = False , fromDb = 1)
    add_length = datatypes.Stext(name = "add_length" , title = "夹持长度" , isAllowScan = False , primaryKey = False , fromDb = 1)
    stretch_speed = datatypes.Stext(name = "stretch_speed" , title = "拉伸速度" , isAllowScan = False , primaryKey = False , fromDb = 1)
    sample_fineness = datatypes.Stext(name = "sample_fineness" , title = "试样细度" , isAllowScan = False , primaryKey = False , fromDb = 1)
    force_drop = datatypes.Stext(name = "force_drop" , title = "力降" , isAllowScan = False , primaryKey = False , fromDb = 1)
    constant_elongation = datatypes.Stext(name = "constant_elongation" , title = "定伸长" , isAllowScan = False , primaryKey = False , fromDb = 1)
    create_time = datatypes.Datetime(name = "create_time" , title = "数据录入时间" , dateTimeFormat = "YYYY-MM-DD HH:mm:ss" , formatDate = "YYYY-MM-DD" , formatTime = "HH:mm:ss" , dateTimeType = "SECOND" , createDefault = False , updateDefault = False , primaryKey = False , fromDb = 1)
    f914 = datatypes.SubTable(title = "子表" , name = "f914" , relateField = "test_info_id" , relateFieldType = "RelateData" , generic = "models.qualitativeDetails" , relateType = "sub")

    class Meta:
        modelType = "NormalType"
        db = "databases.GoldPlatter"
        dataTitle = None
        dbTable = "fiber_test_info"
        name = "qualityChecklist"
        baseModel = ""
        unionIndexList = []
        unionUniqueList = []

class qualitativeDetails(NormalModel):
    break_elongation = datatypes.Numeric(name="break_elongation", title="断裂伸长,单位mm", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)
    break_elongation_rate = datatypes.Numeric(name="break_elongation_rate", title="断裂伸长率,单位%", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)
    break_strength = datatypes.Numeric(name="break_strength", title="断裂强力,单位cN", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)
    break_strength_index = datatypes.Numeric(name="break_strength_index", title="断裂强度指数,单位cN/dtex", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)
    break_time = datatypes.Numeric(name="break_time", title="断裂时间,单位S", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)
    create_time = datatypes.Datetime(name="create_time", title="记录创建时间", dateTimeFormat="YYYY-MM-DD HH:mm:ss", formatDate="YYYY-MM-DD", formatTime="HH:mm:ss", dateTimeType="SECOND", createDefault=False, updateDefault=False, primaryKey=False, fromDb=1)
    elastic_modulus = datatypes.Numeric(name="elastic_modulus", title="弹性模量,单位cN/dtex", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)
    elongation_strength = datatypes.Numeric(name="elongation_strength", title="定伸长强力,单位cN", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)
    id = datatypes.AutoInt(name="id", title="自增主键,唯一标识一条测试数据", primaryKey=True, fromDb=1)
    initial_modulus = datatypes.Numeric(name="initial_modulus", title="初始模量,单位cN/dtex", decimal=0, unit="", placeholder="", primaryKey=False, fromDb=1)
    test_info_id = datatypes.RelateData(title="关联的测试信息ID,用于关联基础测试信息表", name="test_info_id", relateType="mto", generic="models.qualityChecklist", relateField="id", relateFieldType="AutoInt")
    test_number = datatypes.AutoInt(name="test_number", title="测试编号,标识该次测试中的第几个样本", primaryKey=False, fromDb=1)
    update_time = datatypes.Datetime(name="update_time", title="记录更新时间", dateTimeFormat="YYYY-MM-DD HH:mm:ss", formatDate="YYYY-MM-DD", formatTime="HH:mm:ss", dateTimeType="SECOND", createDefault=False, updateDefault=False, primaryKey=False, fromDb=1)

    class Meta:
        modelType = "NormalType"
        db = "databases.GoldPlatter"
        dataTitle = None
        dbTable = "fiber_test_data"
        name = "qualitativeDetails"
        baseModel = ""
        unionIndexList = []
        unionUniqueList = []

模型里面有两个class, 这是不对的, 应该删掉一个

主子表关联,表B里面有个关联字段 关联的表A,表A里面有个子表字段关联B表,其中B里面的关联字段的类型就是 A的主键类型,存的数据也是A的主键值,这样设置后,B就是A的子表,如果数据库存在 A,B两表,则先基于A, B表创建模型,关联和子表字段都不选,然后在B表里面从数据库导入字段选择关联字段,最后在A表里面导入数据库字段选择子表字段

现在不报错了