django - 提交 django 表单时,POST 请求是否包含模型 ID?
问题描述
我有以下 django 形式:
class AssayCompoundForm(forms.ModelForm):
titrated_compound = forms.ModelChoiceField(queryset=Compound.objects.all())
fixed_compound = forms.ModelChoiceField(queryset=Compound.objects.all())
fixed_concentration = forms.FloatField()
class Meta:
model = AssayCompound
fields = ['titrated_compound', 'fixed_compound', 'fixed_concentration']
和以下 HTML:
<form method="POST" enctype="multipart/form-data" id="assay-compound-form">
{% csrf_token %}
<div class="row">
<div class="col-sm">
<label class="form-input">Titrated Compound</label>
</div>
<div class="col-sm">
{{ new_assay_compound_form.titrated_compound }}
</div>
<div class="col-sm"></div>
</div>
<div class="row">
<div class="col-sm">
<label class="form-input">Fixed Compound</label>
</div>
<div class="col-sm">
{{ new_assay_compound_form.fixed_compound }}
</div>
<div class="col-sm"></div>
</div>
<div class="row">
<div class="col-sm">
<label class="form-input">Fixed Concentration</label>
</div>
<div class="col-sm">
{{ new_assay_compound_form.fixed_concentration }}
</div>
<div class="col-sm"></div>
</div>
<input id="assay-compound-form-submit" type="submit" name="add-assay-compound" style="display:none">
此表单生成的 request.POST 如下所示:
<QueryDict: {'csrfmiddlewaretoken': ['blah'], 'titrated_compound': ['3'], 'fixed_compound': ['5'], 'fixed_concentration': ['4'], 'add-assay-compound': ['Submit']}>
我的问题是:用户选择的“titrated_compound”和“fixed_compound”的字符串列表是Django分配的模型ID吗?还是它们是“Compound.objects.all()”生成的有序列表的索引的索引?
解决方案
推荐阅读
- java - logback 如何以预定义的 json 格式格式化 Spring Boot 日志?
- iis - HTTP 错误 500.19 - windows server 2012 R2 中的内部服务器错误
- php - Laravel:没有什么可迁移的
- ruby-on-rails - 如何在部分重构或使包含具有通用结构的选项卡的 Haml 文件的代码更干
- join - 合并而不重写一张表
- php - 如何为 INSERT INTO 语句选择数据库
- android - 如何使用默认的 Android 电子邮件应用程序发送带附件的电子邮件 - Delphi RIO
- android - 自适应 ic_launcher 前景在 Android Studio 中调整大小,但不在开发设备上
- google-sheets - 影响其他行的过滤函数
- sql - 播放列表下歌曲位置的数据库设计