Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlalchemy 如何以良好的方式从外键和枚举列填充变形选择小部件_Sqlalchemy_Python 3.2_Deform_Colanderalchemy - Fatal编程技术网

Sqlalchemy 如何以良好的方式从外键和枚举列填充变形选择小部件

Sqlalchemy 如何以良好的方式从外键和枚举列填充变形选择小部件,sqlalchemy,python-3.2,deform,colanderalchemy,Sqlalchemy,Python 3.2,Deform,Colanderalchemy,我已经与deform、sqlalchemy和colanderalchemy搏斗了一段时间了,但是我在填充选择框时遇到了一些问题 问题1 有没有更好的方法来做到这一点: value_type = Column(Enum('string','boolean','integer','float','reference','enum'),info={ 'colanderalchemy':

我已经与deform、sqlalchemy和colanderalchemy搏斗了一段时间了,但是我在填充选择框时遇到了一些问题

问题1

有没有更好的方法来做到这一点:

value_type = Column(Enum('string','boolean','integer','float','reference','enum'),info={
                                'colanderalchemy':
                                {
                                    'widget':deform.widget.SelectWidget(
                                        values = [
                                                    ('string','string'),
                                                    ('boolean','boolean'),
                                                    ('integer','integer'),
                                                    ('float','float'),
                                                    ('reference','reference'),
                                                    ('enum','enum')
                                                ]
                                    )
                                }})
问题2:

这个怎么样:

reference_cat_id = Column(Integer,ForeignKey('category_nodes.id'),info={'colanderalchemy':{'widget':deform.widget.SelectWidget()}})
...

n = SQLAlchemySchemaNode(MyModel)
n.children[x].widget.values = [
                        (
                            oCat.id,
                            oCat.name
                        )
                        for oCat in
                        DBSession.query(CategoryNode).filter_by(accepted=True)
                        if oCat.getType() == 'Base'
                ] 

如果可以重写“n.children[x]”语法(不确定在对整个脚本进行子类化时,x整数是否是指向正确列的好方法)并传递列名,则第二个示例可能更相关。

如果可以重写“n.children[x]”语法,则第二个示例可能更相关(不确定在对整个脚本进行子类化时,x整数是否是指向正确列的好方法)并传递列名