【发布时间】:2012-03-14 03:25:19
【问题描述】:
我有两种形式:一种接受用户信息(姓名、生日等):formA.另一个包含用户可以输入文本的文本字段:formB。
formB 的模型具有实际的文本字段,以及将其链接到该文本所属的用户的“名称”。此字段称为 text_name。 text_name 是链接到 Name 模型(链接到 formA)的外键。
在我的视图模板中,我只允许用户看到他们可以从formB输入信息的文本框,他们还可以看到formA中的所有字段。 这意味着 text_name 下拉框不显示。
formA 目前正在使用来自不同会话的数据进行预填充。
这是我的看法:
def name(request):
ses = request.session.get('ses', None)
formA = Name_Form(request.POST, instance = ses)
formB = Text_Form(request.POST or None)
formB.text_name = ses
if request.method == 'POST':
formB.text_name = ses
if formA.is_valid() and formB.is_valid():
formB.note_job = ses
a = formA.save()
a.save()
b = formB.save()
b.save()
formB 无效,因为未填充 text_name。我尝试使用这一行填充:
formB.text_name = ses
但这没有用。
如何使用已经输入的信息自动填充 text_name 而无需在模板中实际显示 text_name 并因此强制用户实际手动选择适当的 text_name。
【问题讨论】:
标签: django django-models django-forms django-templates django-views