我有一个基本模型,它引用了ForeignKeys和ManyToMany对象。在“编辑”测试中,您正在获取视图的ID并对其进行更改,我遇到了一个问题,我很好奇是否有其他人想出了更清晰的解决方法。我发现this帖子让我走上了正确的道路
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)
还有其他人遇到过这种情况还是有更好的方法来解决这个问题?
答案 0 :(得分:1)
不确定,但你可以试试这个:
data = response.context['form'].instance.__dict__