0

私は、ForeignKeys オブジェクトと ManyToMany オブジェクトの両方を参照する基本モデルを持っています。ビューのIDを取得して変更を加える「編集」テストで、問題が発生しました。他の誰かがよりクリーンな回避策を見つけたかどうかに興味があります。この投稿を見つけて、正しい道を歩み始めました

    client = Client()
    response = client.get(reverse("floorplan_update", kwargs={'pk': floorplan.id}))

    data = response.context['form'].initial

    # Ideally you should be able to do this..
    response = client.post(reverse("floorplan_update", kwargs={'pk': floorplan.id}),
                           data=data, follow=True)

しかし、これはできません。FK または M2M を使用している場合は、最初にこの醜さを実行する必要があります...

    client = Client()
    response = client.get(reverse("floorplan_update", kwargs={'pk': floorplan.id}))

    data = response.context['form'].initial

    # Ugliness ensues..
    data['document'] = open(__file__)
    data['company']= data['company'].id
    data['target']= data['target'].id

    # Only now can you post..

    response = client.post(reverse("floorplan_update", kwargs={'pk': floorplan.id}),
                           data=data, follow=True)

他の誰かがこれに遭遇しましたか、またはこれに対処するより良い方法はありますか?

4

1 に答える 1

1

わかりませんが、代わりにこれを試すことができます:

data = response.context['form'].instance.__dict__
于 2012-01-17T16:26:58.870 に答える