问题标签 [manytomanyfield]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Django模型;保存时在多对多字段中保存额外项目
所以我目前正在为已经存在的数据库实施一个新的标记系统。
当前的标记系统使用 ManyToMany 字段,但是客户端希望有一个逗号分隔的输入字段 (CharField)。
所以我想出了最好的方法,在不危及当前架构的情况下,启用新的逗号分隔字段,但将标签写为以前的 ManyToMany 架构。
但是无论我尝试这样做,标签都会保存到数据库标签模型中,而不是保存在它们应该应用的条目中。
简单介绍:
进一步的模型背景:
django - 如何根据过滤器删除多对多关系中的多个对象?
鉴于这两个模型:
我可以使用这个在给定时间之前找到所有源的项目:
如何有效地删除与该查询匹配的所有项目?我想我可以尝试这样的事情:
但这似乎很糟糕。
请注意,我不想删除这些项目,因为它们也可能属于其他来源。我只是想删除他们与特定来源的关系。
python - 在 Django Admin 中将 ManyToManyField 显示为复选框
有没有一种简单的方法可以在 Django Admin 中将 ManyToManyField 显示为复选框?提前致谢!
django - 如何告诉 Django 不要为 M2M 相关字段创建表?
我正在使用 Django 代码片段的这个小宝石从两个方向编辑 ManyToManyField:
(此处摘录详细信息)
它让我可以从工作表单中选择给定工作中的所有人员,并反过来让我从人员表单中选择一个人的所有工作,并在这两种情况下更新单个 jobs_persons 表。
然而,从 Django 1.0 迁移到 1.2 后,syncdb 现在会生成重复表错误,因为 create_table 显然不再是基类中受支持的属性。
是否有另一种方法来指示 Django 1.2 不要为相关字段创建表?
django - 将 Django ModelChoiceField 查询集限制为选定项目
这是我挣扎了一天的事情......
我有一个消息模型,其中一个recipients
模型。ManyToManyField
User
然后有一个用于编写消息的表单。由于有成千上万的用户,因此在表单中的多选小部件中显示选项并不方便,这是默认行为。相反,使用 FcbkComplete jquery 插件,我使收件人字段看起来像一个输入字段,用户在其中键入收件人,并且它可以工作。
但...
尽管在表单页面上不可见,但所有用户列表都呈现在选择字段中的页面中,这是我不想要的,原因很明显。
我尝试覆盖 ModelChoiceField 的操作验证和查询集的行为,我使用了 MultipleChoice 小部件等。但它们都没有工作并且感觉自然。
那么,避免在客户端拥有整个选项列表但仍然能够针对查询集进行验证的(最佳)方法是什么?
django - 如何在 Django 中一次将多个对象添加到 ManyToMany 关系?
基于 Django 文档,我应该能够一次传递多个对象以添加到多对多关系中,但我得到了一个
* TypeError:不可散列的类型:'list'
当我尝试传递一个列表中的 django 查询集时。传递 Queryset 或 ValuesListQueryset 似乎也失败了。有没有比使用 for 循环更好的方法?
django - 在 ModelForm 的 Charfield 中显示逗号分隔的 ManyToMany 项目列表
我有一个模型,其中包含一个表“标签”的 ManyToMany 字段。由于这个表可能很大,我不想在表单中显示一个选择,而是一个逗号分隔的标签列表,由一个字符域提供(我想)。
在保存时,我会用逗号拆分列表,然后将它们一一添加(使用 get_or_create)。我已经这样做了。
但是当我想更改数据时,我有一个 ID 列表,而不是标签列表。
如何显示逗号分隔的标签列表?我是否必须为此创建一个新的特定字段?还是已经有一些东西可以做我正在寻找的东西?
谢谢你的帮助!
hibernate - HIbernate - “外键引用从列数错误。应该是 2" 错误
我一直在寻找这个问题的解决方案一段时间。我发现一些线程谈论导致此问题的多对多关系,但我认为这不适用于我的情况,因此我将其发布在新线程中。
我有以下数据库设计:============================================ ====================================
用户表:PK USER_ID, USER_NAME UNIQUE, ...
项目表:PK ITEM_ID,FK ITEM_SELLER -> 与 user.USER_ID 的多对一关系,FK ITEM_BUYER -> 与 user.USER_ID 的多对一关系,...
投标表(用户和项目之间的桥梁):PK BID_ID,FK BIDDER_ID -> 与 user.USER_ID 的多对一关系,FK ITEM_ID -> 与 item.ITEM_ID 的多对一关系,...
类别表:PK CAT_ID,...
item_category 表(类别和项目之间的桥梁):PK ITEM_CAT_ID,FK ITEM_ID -> 与 item.ITEM_ID 的多对一关系,FK CAT_ID -> 与 category.CAT_ID 的多对一关系,...
==================================================== ==============================
我正在尝试通过 NetBeans 使用休眠进行设置。我找到了指导我设置 hibernate.cfg、reveng 和 util 文件的教程,并向我展示了如何使用 NetBeans 工具生成 POJO。在本教程中,您应该右键单击 cfg 文件并运行 HQL 查询以确保一切正常。我已经使用一个简单的表(上面的用户表)测试了这个过程,并且一切正常。但是,当我尝试将所有内容放在一起时,出现以下错误:
org.hibernate.AnnotationException: A Foreign key refering GavelDB.User from GavelDB.Bid has the wrong number of column. should be 2
at org.hibernate.cfg.annotations.TableBinder.bindFk(TableBinder.java:276)
at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:89)
at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:499)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:304)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1286)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
正如我之前所说的,我之前搜索这个问题的所有尝试都指向了复合键,但是我已经努力在这个设计中避免它们,所以我不知道这会是什么问题。我是休眠新手,所以我还没有从头开始编写文件的知识库。如果有人能给我一些见解,将不胜感激。提前谢谢!
以下是错误中提到的两个文件供您参考:
BID.JAVA
项目.JAVA
ajax - Django:管理员中的 AJAX 多对多字段
我想像ManyToManyField
admin 一样在 admin 中显示 s filter_horizontal
,但是在用户输入过滤器字段时填充选项。有很多选项,一次加载它们需要很多时间。
我找到了django-ajax-filtered-fields但在我看来这有点过头了,因为它需要更改模型类,而我只想替换表单中的每个多选字段。
编写一个继承自的自定义小部件字段admin.widgets.FilteredSelectMultiple
似乎是正确的方法。所以我想推出我自己的小部件:
正确呈现。
但我不确定如何实现这个some_js_to_load_ajax_options.js
ajax 部分。我应该编写自己的 jQuery 片段还是修改SelectFilter2
附带的 jQuery 片段admin/media/js
?以前有人去过吗?
编辑:
虽然与问题的核心无关,因为我只想覆盖字段的小部件,较短的方法是使用formfield_overrides
:
django - Django 管理员 ManyToManyField:提高 change_form 的可用性?
我有 Django 模型如下:
有很多科目 - 大约 100 个。
在 Django 管理员上编辑书籍记录时,很难查看特定书籍中存在哪些主题。
Django 管理员提供了一个多选列表,这很棒,但是要查看一本书,您必须滚动整个选择列表。
如果以下任何一种情况都会好得多:
- 我可以在多选列表上方提供主题的只读列表,或者
- 多选列表从选定的科目开始,然后有一个类似“----”的条目,然后继续其他科目。
有谁知道我如何在 Django 中实现上述任何一个,以提高 Django 管理员中 ManyToManyFields 的可用性?
谢谢!