Web2py链接表错误与字段类型

时间:2013-09-24 08:21:51

标签: python mysql web2py linked-tables

我正在尝试链接web2py中的两个mysql表,这些表的列具有相同的条目(尽管不同的行)。我想在网格中显示第一个表,并有一个链接显示第二个表的相应条目。到目前为止,这就是我所拥有的:

in models --> db.py

    db.define_table('total_ec_numbers',
    Field('id','integer', label=T('ID')),
    Field('query_name','string', label=T('Gene ID')),
    Field('hit_name','string', label=T('Hit name')),
    Field('hit_accession','string', label=T('Hit accession')),
    Field('ec','string', label=T('EC number')),
    Field('hsp_evalue','string', label=T('E-value')),
    Field('hsp_length','string', label=T('HSP length')),
    Field('hsp_percent','string', label=T('HSP percent')),
    Field('sample','string', label=T('Sample')),
    Field('extra','string', label=T('Extra info')),
    migrate=False, format = '%(query_name)s')

    db.total_ec_numbers._singular = "EC numbers results"
    db.total_ec_numbers._plural = "EC numbers results"


#--------
    db.define_table('total_genes',
    Field('id','integer', label=T('id')),
    Field('gene_id','string', label=T('Contig')),
    Field('gene_name','string', label=T('Gene name')),
    Field('sequence','text', label=T('Sequence')),
    Field('seq_length','integer', label=T('Sequence length')),
    Field('description', 'reference total_ec_numbers', label=T('Gene ID')),
    Field('sample','string', label=T('Sample')),
    Field('extra','string', label=T('Extra info')),
    migrate=False)

    db.total_genes._singular = "All sequences"
    db.total_genes._plural = "All sequences" 


in controllers --> default.py


    important_columns=[db.total_ec_numbers.query_name,db.total_ec_numbers.hit_name,db.total_genes.description]

    form2=SQLFORM.smartgrid(hotzyme_tests.total_ec_numbers, linked_tables=['total_genes'], create=False, fields=important_columns, deletable=False, editable=False, maxtextlength=64, paginate=10)

有了这个,我得到了一个很好的“total_ec_numbers”表格,每个条目旁边都有“所有序列”链接。但是,当我点击链接时,我收到以下错误:

ValueError: invalid literal for int() with base 10: '1_start=553_stop=756_strand=+'


The fields that have the identical entries are the db.total_ec_numbers.query_name and the db.total_genes.description and they have string data values. Nevertheless web2py seems to search for integers. Do you know how i can change that? Thank you in advance,

0 个答案:

没有答案