当前位置: 首页 > 面试题库 >

使用内联表单集创建模型和相关模型

石苏燕
2023-03-14
问题内容

使用内联formset docs中的示例,我能够(使用modelforms)编辑属于特定模型的对象。我一直在尝试使用相同的模式来 使用内联表单集创建新对象,但是一直无法清除我的头来为此目的提供工作视图。

使用与上述链接相同的示例,我将如何创建“作者”模型的新实例及其相关的“书”对象?


问题答案:

首先,创建一个Author模型表单。

author_form = AuthorModelForm()

然后创建一个虚拟作者对象:

author = Author()

然后使用伪作者创建内联表单集,如下所示:

formset = BookFormSet(instance=author)  #since author is empty, this formset will just be empty forms

将其发送到模板。数据返回到视图后,你可以创建作者:

author = AuthorModelForm(request.POST)
created_author = author.save()  # in practice make sure it's valid first

现在,将内联表单集与新创建的作者挂钩,然后保存:

formset = BookFormSet(request.POST, instance=created_author)
formset.save()   #again, make sure it's valid first

编辑:

要在新表单上没有复选框,请使用以下模板:

{% for form in formset.forms %}
    <table>
    {% for field in form %}
        <tr><th>{{field.label_tag}}</th><td>{{field}}{{field.errors}}</td></tr>
    {% endfor %}

    {% if form.pk %} {# empty forms do not have a pk #}
         <tr><th>Delete?</th><td>{{field.DELETE}}</td></tr>
    {% endif %}
    </table>
{% endfor %}


 类似资料:
  • 问题内容: 为什么在我的某些模型中序列化不会为 Foreignkey 创建新列?但是它确实为其他模型创建了??? 令人沮丧和奇怪。例如,在此用户模型中,不会创建sequelize 。 这是一个类似的问题:不会创建模型关联列但不能创建!没有回答。 我已经花了几个小时,我做了所有类似的事情: 仔细阅读以下内容:https : //sequelize.org/master/manual/assocs.h

  • 通过预先确定好模型之间的关系,在业务开发中,使用非常简便的写法,就可以实现复杂的涉及多表数据增删改查。 这一切都是模型底层实现帮你在处理,在 imi 中,模型的关联关系都使用注解来定义。 注解 这里列出定义模型关联关系所需的注解,所有关联模型的注解,命名空间为Imi\Model\Annotation\Relation @OneToOne 一对一关系声明 用法: @OneToOne("模型类名")

  • 问题内容: 我将钩子beforeCreate定义如下: 当我创建模型时 现在我从中得到的是 似乎代码的每个部分都在工作。创建用户模式将调用beforeCreate,它将正确生成密码的哈希码....,但它没有写入数据库! 我确定我错过了非常重要且显而易见的代码,但我只是找不到问题所在(啊)。任何帮助表示赞赏! 问题答案: 在Sequelize中,钩子是通过异步方式调用的,因此完成后需要调用完成回调:

  • Creating model relations(创建模型之间的关系) model 关系概念 使用slc loopback:relation 关联选项 范围 属性 invertProperties ?? 逆属性(?) 自定义范围方法 通过REST API 暴露关联对象的方法 model 关系概念 在工作中单个 model 比较好理解, 但是现实使用中 model 之间往往存在着各种关联。 当你在实

  • 问题内容: 使用Laravel 4,我有以下模型和关系:具有多记录的事件具有多项目的事件。我想做的是这样的 原因是无效的,因为Eloquent在检索记录时不会将模型联接在一起。因此,如何在不自己编写SQL的情况下解决这个问题(我想避免使用分页,但要避免这种情况)。 问题答案: 您想要的是渴望加载。 如果要指定其他约束,它的工作原理如下:

  • 问题内容: 我可以看到使用表单时如何向字段添加错误消息,但是模型表单呢? 这是我的测试模型: 我的模型表格: 在字段中的错误信息:和是: 这是必填栏 如何以模型形式进行更改? 问题答案: 对于简单的情况,你可以指定自定义错误消息