2017-02-24 84 views
1

我正面臨一個邏輯問題: 假設我有一個foo類,foo_linked_object_1和foo_linked_object_2類。的關係是:如何在Flask中顯示每個實體的多個表單?

  • 富1 ------米foo_linked_object_1
  • 富1 ------米foo_linked_object_2

我想要做的就是有一個查看,顯示關於一些foo對象的所有信息(到目前爲止很好),並且在每個foo下面,有兩種形式允許我創建foo_linked_object_1或foo_linked_object_2。

我嘗試了以下解決方案:

forms.py

CreateFLO1(Form): 
    #FLO fields ... 

CreateFLO2(Form): 
    #FLO2 fields ... 

controller.py

@app.route('/foo/<param>') 
def foo_per_param(param): 
    foos = Foo.query.filter_by(param=param) 
    for foo in foos: 
     foo.FLO1Form = CreateFLO1() 
     foo.FLO2Form = CreateFLO2() 
    return render_template('foo.html', foos=foos) 

foo.html

{% for foo in foos %} 
    {{ foo.infos }} <! -- etc etc --> 
    {{ foo.FLO1Form.field1 }} 
    {{ foo.FLO1Form.field2 }} <! -- etc etc, same for FLO2Form --> 

神社返回我的以下錯誤:

UndefinedError: app.models.foo.Foo object has no attribute 'FLO1Form'

有誰知道我會如何鏈接這些形式與每個實體?

+0

'foos = Foo.query.filter_by(param = param)'這會返回一個查詢對象,而不是結果集。那是你要的嗎? – metmirr

+0

我這麼認爲。我該如何獲得結果集? @metmirr:剛剛找到解決方案...我只需要添加.all()正確的?感覺有點愚蠢。 –

+0

使用'all()''foos = Foo.query.filter_by(param = param).all()' – metmirr

回答

0

根據Metmirr:

我沒有得到正確的信息。

Entity.query.filter_by(param=param) 

返回查詢對象,而

Entity.query.filter_by(param=param).all() 

返回結果集。謝謝 !

相關問題