0

NodeLink、およびのモデルがいくつかありMapます。マップにはlink_idnode_a_id、およびnode_b_idフィールドがあります。Linkの 1 つのフォームと の 2つのフォームを表示していNodeます。Map入力した情報を関係を保存するモデルに保存するにはどうすればよいですか?

4

1 に答える 1

0

ModelForms を使用していて、マップにはリンクとノードを保存する必要があると仮定します。

したがって、最初にこのモデルを保存してから、マップ モデルを保存する必要があります。また、link_id、node_a_id、および node_b_id が models.ForeignKey(Link)... として定義されていると仮定します。

したがって、次のようになります。

# somehwere on your views.py ...

def my_display_forms_view(request):
    if request.method == 'POST':
        na = Node()
        nb = Node()
        link = Link()
        na_form = NodeForm(request.POST, instance=na)
        nb_form = NodeForm(request.POST, instance=nb)
        link_form = LinkForm(request.POST, instance=link)

        if na_form.is_valid() and nb_form.is_valid() and link_form.is_valid():
            na = na_form.save()
            nb = nb_form.save()
            link = link_form.save()
            map = Map(link_id=link, node_a_id=na, node_b_id=nb)
            # maybe here fill more fields for map
            map.save()
            # eventually do some more stuff
    else:
       ... generate new unbound forms here
    return render_to_response(...)
于 2013-04-07T21:47:52.590 に答える