pow*_*wlo 3 python forms django foreign-keys
在表单处理期间,我希望能够在模型对象上设置外键字段,而无需用户从下拉列表中选择键.
例如:
#models.py
class AAA(models.Model):
some_field = models.TextField()
class BBB(models.Model):
another_field = models.TextField()
key_field = models.ForeignKey('AAA')
Run Code Online (Sandbox Code Playgroud)
用户将从显示"AAA"实例的视图导航到create_object样式视图,该视图将在给定参考"AAA"的参数的情况下创建"BBB"实例.外键在代码中设置为指向'AAA'实例.
django评论框架似乎这样做,但我无法弄清楚如何.
有任何想法吗?我相信它应该很简单.
Ala*_*air 23
您可以key_field从模型表单中排除,保存commit=False,然后key_field在保存到数据库之前在视图中设置.
class BBBForm(forms.ModelForm):
class Meta:
model = BBB
exclude = ("key_field",)
def create_view(request, **kwargs):
if request.method == "POST":
aaa = # get aaa from url, session or somewhere else
form = BBBForm(request.POST)
if form.is_valid():
bbb = form.save(commit=False)
bbb.key_field = aaa
bbb.save()
return HttpResponseRedirect("/success-url/")
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7006 次 |
| 最近记录: |