У меня есть базовая модель, которая ссылается на объекты ForeignKeys и ManyToMany. В «редактировании» тестирования, когда вы берете идентификатор вида и вносите в него изменения, я столкнулся с проблемой, и мне любопытно, нашел ли кто-нибудь другой более надежный обходной путь. Я нашел этот пост, который направил меня по правильному пути
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)
Кто-нибудь еще сталкивался с этим или есть лучший способ справиться с этим?