设置初始值后检索表单数据

时间:2016-10-07 18:35:02

标签: python django

我想用初始数据填充表单字段,因此我设置了我的视图,就像this question中@ars所建议的那样:

def update_member(request):
    if request.method == 'POST':
        urn = 'urn:publicid:myurn'
        member = Member(urn=urn)
        retrieved_members = member.search_member(filter_params=['urn', 'first_name', 'last_name'])

        # If search returns member
        if retrieved_members != []:
            member = retrieved_members[0]
            member_attributes = {'first_name': member.first_name, 'last_name': member.last_name}

            form = UpdateMemberForm(initial=member_attributes)

它运作正常。但是当我手动填写模板中的字段时,我的视图仍然会设置这些初始值。我无法将值重置为通过POST方法传递的值。我知道这是因为我设置初始值的方式,但我不知道如何解决它。

有没有人知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果检查提交的值的POST数据,则可以在调用UpdateMemberForm()之前使用这些值更新member_attributes