私は、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)
他の誰かがこれに遭遇しましたか、またはこれに対処するより良い方法はありますか?