如何在表单完成期间设置外键(pythondjango)

如何在表单完成期间设置外键(pythondjango),第1张

概述在表单处理期间,我希望能够在模型对象上设置外键字段,而无需用户从下拉列表中选择键. 例如: #models.pyclass AAA(models.Model): some_field = models.TextField()class BBB(models.Model): another_field = models.TextField() key_field = 在表单处理期间,我希望能够在模型对象上设置外键字段,而无需用户从下拉列表中选择键.

例如:

#models.pyclass AAA(models.Model):    some_fIEld = models.TextFIEld()class BBB(models.Model):    another_fIEld = models.TextFIEld()    key_fIEld = models.ForeignKey('AAA')

用户将从显示“AAA”实例的视图导航到create_object样式视图,该视图将在给定参考“AAA”的参数的情况下创建“BBB”实例.外键在代码中设置为指向’AAA’实例.

django评论框架似乎这样做,但我无法弄清楚如何.

有任何想法吗?我相信它应该很简单.

解决方法 您可以从模型表单中排除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/")        ...
总结

以上是内存溢出为你收集整理的如何在表单完成期间设置外键(python / django)全部内容,希望文章能够帮你解决如何在表单完成期间设置外键(python / django)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1052393.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存