我有一个引用 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)
有没有其他人遇到过这个问题,或者有没有更好的方法来处理这个问题?