gpt4 book ai didi

python - Django - GenericForeignKey 的动态表单

转载 作者:行者123 更新时间:2023-11-28 18:48:17 25 4
gpt4 key购买 nike

我如何根据用户的 content_type 选择创建/处理动态表单?

我正在编写一个 View /模板来添加一个对象,该模型持有其他模型的通用键:

 class MainModel(models.Model):
title = models.CharField()
author = models.ForeignKey(User)
...
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')

class FileModel(models.Model):
file = models.FileField()
content = generic.GenericRelation(MainModel)


class UrlModel(models.Model):
url = models.UrlField()
content = generic.GenericRelation(MainModel)

我想给用户一个页面(用于添加对象),他/她可以在其中填写标题、作者、...字段并选择 content_type(下拉列表)并填写所选 content_type 的字段,例如如果选择了 FileModel,则为文件。然后应该使用一个“发送”按钮将其发送到一个 View ,在该 View 中将创建所选 content_type 和 MainModels 的适当对象。我正在考虑使用一些 ajax/jquery 来使用来自所选 content_type 的字段“扩展”初始表单,但欢迎就如何正确执行此操作提出任何其他建议。

最佳答案

以防万一有人从中受益。

我最终得到了 2 个具有不同前缀的表单:1) 对于 MainModel,2) 为选定的 content_type 动态创建。表单 2) 的字段通过 ajax/jquery 加载函数动态添加到站点(在选择 content_type 时)。数据的处理和适当的保存在 View 中处理。

关于python - Django - GenericForeignKey 的动态表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17239260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com