Django测试 - 获取初始值并将它们反馈回
问题描述:
我有一个引用ForeignKeys和ManyToMany对象的基本模型。在“编辑”测试中,您正在采取视图的ID并对其进行更改,但遇到了一个问题,我很好奇是否有其他人找到了更清晰的解决方法。我发现this后这让我开始正确的道路Django测试 - 获取初始值并将它们反馈回
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)
有其他人遇到了这个还是有更好的方法来解决这个问题?
答
不知道,但你可以代替试试这个:
data = response.context['form'].instance.__dict__
这当然得到的你最的方式存在。尼斯。 – rh0dium 2012-01-19 12:40:03