问题标签 [django-orm]
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.
python - 如何在 Django 中为模型获取具有反向关系的所有类的集合?
鉴于:
仅给定 Food 类,如何获得与它具有“反向关系”的所有类的集合。即给定类Food,如何获得Cat、Cow和Human类。
我认为这是可能的,因为 Food 具有三个“反向关系”:Food.cat_set、Food.cow_set和Food.human_set。
感谢您的帮助,谢谢!
django - Django - 带有伴随存储字段的自定义虚拟模型字段
我想要一个ConfirmationField
字段类型。我希望这个字段像布尔字段一样工作。我不需要将此信息存储在数据库中,而是希望将确认日期存储在单独的字段中。
我需要将这两个字段都作为Field
实例,例如,我需要能够在 Admin 中使用它们。
我已阅读文档并检查代码,ForeignKey
使用以下代码更改其数据库列名称:
但是我无法确切地弄清楚如何使用其余代码作为示例。看来我的目标不需要太复杂。
保存模型时,我还发现ImageField
了保存的额外信息:
但我当然不希望confirmation
自己存储在数据库中。confirmation_timestamp
由于 ( -> confirmation
) None
==False
和<datetime instance>
== ,我会造成冗余True
。
任何指针/想法表示赞赏。
谢谢。
编辑:目前看来这是不可能的。我最终改变了我的 API。这是一个snipplet,可以说明我是如何做到的:
您可以拥有上述任何类型的确认字段,并设置正确的值。确认检查可以用bool(getattr(instance, field_name)
.
django - Django ORM:获取满足特定条件的最新先前对象
给定一个像这样的对象:
给定样本数据(假设单调递增的自动 created_date):
如果给定 Y,是否可以使用 Django ORM 创建一个返回 X 的查询(上一个查询,按日期,其中 'test'=True)?如果是这样,怎么做?
换句话说:给定 Y,如何获得“test”为 True 的最近的先前元素?
感谢您的想法和反馈,谢谢!
python - Django:默认执行不区分大小写的查找
username
使用 Django Auth 框架时,我需要默认执行不区分大小写的查询。
我尝试通过编写自定义子类Queryset
并覆盖该_filter_or_exclude
方法,然后在用户模型的自定义管理器中使用该子类来解决该问题-
但是这种方法不起作用,当我尝试做User.objects.get(username='Foo')
.
任何帮助,将不胜感激。
更新:我包括了我得到的确切错误。
更新:顺便说一句,我只想提一下,当我将_filter_or_exclude
方法中的逻辑复制到实际QuerySet
类中时,它可以完美运行。
python - 如何使用 Django ORM 查询这个多对多示例?
我有以下型号:
话虽如此,我正在尝试使用 Django ORM 模拟此查询(选择特定作者撰写的所有书籍,注意作者可以有很多书,而书籍可以有很多作者):
我已经阅读了 Django 网站上的这个 FAQ 页面,但是在我修改我的模型结构并删除 AuthorBook 之前,我很好奇是否可以使用当前结构模拟该查询。
django - 帮助在 Django 中删除 reconds
如何删除关系表中的条目。在这种情况下,我在组和用户之间有多对多的关系。上述代码中的 delete 语句将组从 Groups 表中删除。我只想从 Users_group 表中删除用户和组之间的关系。我该怎么做呢。
谢谢
django - Django ORM:缓存和操作 ForeignKey 对象
考虑以下用于太空征服游戏的 models.py 框架:
对于我正在处理的项目,我有许多这样的数据模型,并且我根据各种数据对象之间有些复杂的交互来更改游戏的状态。我想避免对数据库进行大量不必要的调用,所以每回合一次,我会做类似的事情
- 从数据库中查询所有舰队、行星和其他对象,并将它们缓存为 python 对象
- 处理游戏对象,解析游戏状态
- 将它们保存回数据库
当使用 ForeignKey 对象时,这个模型似乎完全崩溃了。例如,当一个新舰队离开一个星球时,我有一条看起来像这样的线:
在这条线运行之后,我有其他代码可以改变每个行星上的船只数量,包括行星fleet.home。不幸的是,上一行所做的更改并没有反映在我之前获得的行星查询集中,因此当我在回合结束时保存所有行星时,对舰队.home 的船只的更改会被覆盖。
有没有更好的方法来处理这种情况?或者这就是所有 ORM 的样子?
django - 如何在 django 中使用过滤器
类状态(models.Model): someid = models.IntegerField() value = models.IntegerField() status_msg = models.CharField(max_length = 2000)
所以我必须获取一些值之间包含一个给定的 someid 的值。所以说
所以我的最终结果应该是包含 id = 20 的 2 个条目的列表,如何实现这一点。
我尝试使用
哪个是错的?如何解决这个问题。
谢谢。
python - Django ORM Query 以限制特定键实例
Projectfundingdetail 具有项目的外键。
以下查询为我提供了任何projectfundingdetail 低于 1000 的所有项目的列表。如何将其限制为仅最新的 projectfundingdetail。
我已经定义了以下功能,
但我不能使用以下内容,因为latest_funding
它不是数据库字段
那么我应该使用什么查询来获取所有只有其最新 projectfundingdetail 低于 1000 的项目。
sql - 使用 Django ORM 根据最大值获取单个子行
我有一个模型“市场”,它与另一个模型“合同”有一对多的关系:
我想获取 Market 对象以及每个合约的最高价格。这就是我通过原始 SQL 执行此操作的方式:
有没有办法在不使用 SQL 的情况下实现这一点?如果有,在性能方面应该首选哪一个?