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