小编Jon*_*ard的帖子

将外键放入表单中

我是Django和Python的新手,并且花了几天时间试图解决这个问题.我在其他线程中尝试了几种方法,但我认为我缺少一些基本概念,因为它们都没有为我工作.这是我正在尝试做的事情:

我正在使用ModelForm,并且我已经创建了一个用于添加包含外键的记录的表单.我希望默认情况下设置此值以匹配我链接的页面上显示的记录.[编辑后显示的代码显示建议的更正].

这是来自views.py的相关代码:

def add_sighting(request):
unit = request.GET.get('unit')
form = SightingForm(request.POST or None, initial={'unit':unit})
if form.is_valid():
    sighting = form.save(commit=False)
    sighting.save()
    return redirect(index)
return render_to_response('trainapp/add_sighting_form.html',
                          {'unit': unit, 'sighting_form': form},
                          context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

以下是add_sighting_form.html的相关代码:

<form action="/trainapp/add_sighting/" method="post">
{% csrf_token %}
<table>
{{ sighting_form.as_table }}
</table>
<input type="submit" value="Save" />
</form>
Run Code Online (Sandbox Code Playgroud)

这是我链接的模板中的相关代码:

<p><a href="/trainapp/add_sighting/?unit={{ unit.id }}">Add sighting</a></p>
Run Code Online (Sandbox Code Playgroud)

django foreign-keys django-forms modelform

5
推荐指数
1
解决办法
3082
查看次数

标签 统计

django ×1

django-forms ×1

foreign-keys ×1

modelform ×1