django ModelAdmin autocomplete_fields中保存的ID在哪里?
Posted
技术标签:
【中文标题】django ModelAdmin autocomplete_fields中保存的ID在哪里?【英文标题】:Where is ID saved in django ModelAdmin autocomplete_fields? 【发布时间】:2021-10-31 03:01:48 【问题描述】:我正在为 django 2.2 重写一些管理界面,目前正在使用 django autocomplete_fields 管理功能。简单地说,我有 ModelAdmin 对象 OrderAdmin
,它嵌套了 TabularInline ProductAdmin
:可以添加到订单中的可变长度产品表。这些ProductAdmin
持有者中的每一个都只包含实际产品类的ForeignKey,以及一些其他属性。
现在我想知道:django 在哪里存储 id - ForeignKey - 使用自动完成字段选择的项目?它没有将选择框中的 OPTION 标记为 selected,并且虽然页面上有带有 #cashregisterproduct_set-0-id 的可疑隐藏输入字段,但它没有任何值.还是有一些特殊的方法可以访问它?我正在考虑将 id 添加到模型和解析的__str__
方法中,但这很难看。
感谢提示。
编辑:为了使其 100% 清晰,django 从哪里获取通过 autoselect_field 选择的对象的 ForeignKey,从 ModelAdmin 创建新对象时?
【问题讨论】:
【参考方案1】:我误以为这是由 django 管理的。可以使用 select2 框架访问选定的数据:
selected_value = $('.myselectbox').select2().val();
相关:https://***.com/a/47451658/16268461
【讨论】:
请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。以上是关于django ModelAdmin autocomplete_fields中保存的ID在哪里?的主要内容,如果未能解决你的问题,请参考以下文章