django-orm 相关问题

Django的ORM系统,包括其查询集和模型系统。

Django 模型 - 如何将多对多相关对象聚合到数组中?

所以我最近开始使用 Django,我遇到了书籍和作者之间多对多关系的情况 - 作为一个简单的例子 - 一本书可以有多个作者。 类书(模型.模型):

回答 1 投票 0

Django admin 内联表格管理中的多对多字段不适用于关系双方

问题 考虑到该字段具有参数并且我无法更改数据库,如何将 m2m 字段集成到 modelAdmin 中?或者我如何使用内联表格管理和添加更多按钮?

回答 1 投票 0

如何在 django ORM 中获取加入的最新对象?

我有两个1:N相关的表。 我只想获取每个房地产模型的一个最新交易模型。 房地产类(gis_models.Model): 类元: db_table = "房地产" ...

回答 1 投票 0

使 Django 模型查询不区分大小写

我想通过电子邮件查找用户,而不必担心大写字母。 我该怎么做? 我试过 客户 = Customer.objects.get(email__lower="[email protected]") 然后去...

回答 1 投票 0

如何在 Django Rest Framework 中映射foreignKey模型值

模型.py 类项目(模型.模型): 名称 = models.CharField(max_length=100) # other_no_need_translate = models.CharField(max_length=100) 类 Itemi18n(models.Model): 起源=模型。

回答 1 投票 0

Django 模型方法 - create_or_update

与 get_or_create 类似,我希望能够在 Django 中 update_or_create 。 到目前为止,我使用的方法与@Daniel Roseman 在这里的做法类似。不过,我还想做更多

回答 2 投票 0

如何使用Django ORM正确查询数据库?

我一直纠结于如何编写查询以避免for循环 员工首次创建病假对象期间+365天(即

回答 1 投票 0

Django:“缺少 1 个必需的位置参数:'lookup _name'”,当它不丢失时?

我正在使用 Django 3.1 ORM 并正在运行(使用 pytest)涉及复杂嵌套查询的测试。我得到这个失败: 自我 = 我正在使用 Django 3.1 ORM 并正在运行(使用 pytest)涉及复杂嵌套查询的测试。我遇到这个失败: self = <django.db.models.expressions.Subquery object at 0x0000027CE184D2B0> lookup = 'lte' def get_lookup(self, lookup): > return self.output_field.get_lookup(lookup) E TypeError: get_lookup() missing 1 required positional argument: 'lookup_name' 要调用的 get_lookup(lookup) 是在 django.db.models.query_utils.RegisterLookupMixin 中定义的(据我所知)为 def get_lookup(self, lookup_name): ... 我的测试的相应源语句涉及类似的内容 value = now() - OuterRef(OuterRef('myattr2')) * timedelta(days=1) queryset2.annotate(has_x=Exists(queryset.filter(myattr__lte=value))) 并且围绕它还有更多查询构造代码。 我的调试器告诉我 self.output_field 是一个 DateTimeField 对象。 总体来说: 上下文是一个 Exists 子查询。 查找是 'lte'(按预期)。 该调用提供 DateTimeField 作为 self(来自 output_field)和 'lte' 作为 lookup_name。 要调用的方法需要 self 和 lookup_name。 通话应该可以,不是吗? TypeError在哪里? @AlexandrTatarinov 的评论是正确的;这也是我的问题; myattr 是这样创建的计算属性: annotate(myattr=Subquery(queryset3, output_field=DateTimeField)) 但由于某种原因,Django 坚决想要一个输出字段的字段实例,而不是字段类。 所以 output_field=DateTimeField() 有效,但我的 output_field=DateTimeField 不起作用。 添加括号,我的问题就解决了。 讽刺的是,在这种情况下甚至不需要output_field=!删除它和添加括号一样有效。 反思我的工作过程,这些是我的错误: 我在调试器中检查了是否存在正确的 self - 但显然不够仔细,将 DateTimeField 类误认为是 DateTimeField 实例。 我在调试之前的问题时插入了 output_field=DateTimeField 子句,但当它没有帮助时就没有再将其取出。坏主意。 当我写下我的问题时,我在写下犹豫了 “我的调试器告诉我 self.output_field 是一个 DateTimeField 对象。” 并问自己 “我知道它是一个 DateTimeField 对象而不是 DateTimeField类?”,但我没有再去调试器中查看,我只记得我检查过它并感到满意。 所以我带回家的课程是: (来自第2点):不要做半生不熟的事情。 (来自数字 1 和 3):尽可能少地相信自己。

回答 1 投票 0

从 OneToOne 用户模型加载时,Django 管理非常慢

我认为我做的管理模型是错误的,因为加载需要大约 30 秒,我认为这是因为我的 sql 查询效率太低,并且可能会创建比需要的更多的查找。是...

回答 2 投票 0

为什么 Django 在 get_object_or_404 上添加 LIMIT 21

型号 类实体(模型.模型): uuid = models.UUIDField(editable=False, unique=True, default=uuid.uuid4) Institute_name = models.CharField(max_length=100, null=False) 所有者名称=模组...

回答 1 投票 0

使用F结果获取key

我有类似 {product_id: count} 的字典。 例如 cart_items = {1: 150}。该字典代表客户购物篮。 我还有带有计数字段的产品模型。它代表库存余额。 我想要...

回答 1 投票 0

使用psycopg2 sql.SQL对象调用cursor.execute时出错

我正在尝试在 django 中使用 psycopg2 执行原始更新查询。代码如下: 从 django.db 导入连接 从 psycopg2 导入 sql model_instances_to_update = [] 对于 model_instance...

回答 1 投票 0

获取 Django 中 .exists() 查询生成的 SQL 语句

是否可以在Django中打印queryset.exists()语句生成的SQL?

回答 2 投票 0

Django:强制选择相关?

我创建了一个模型,并且正在为其渲染默认/未修改的模型表单。仅此一项就生成了 64 个 SQL 查询,因为它有相当多的外键,而这些查询又具有更多的外键......

回答 3 投票 0

Django ORM 查询执行简单的 ORDER BY 聚合

鉴于这张简单的表格, 支付类(模型.模型): pay_date = models.DateField("付款日期") 金额 = models.DecimalField(max_digits=7,decimal_places=2) 我想制作一个标签...

回答 1 投票 0

在进行 prefetch_lated 时选择使用哪个模型管理器?

我的 Django 应用程序中有一个 Product 模型,它使用自定义模型管理器,其中包含所有 prefetch_lated 语句: 类 ProductManager(models.Manager): def get_queryset(self): ...

回答 1 投票 0

django 中这个查询的含义是什么

我正在开发一个 django 项目,并从其他开发人员手中接管该项目,因为他们已经离开了该项目。我遇到了一个查询,我无法理解它是如何工作的,这是......

回答 1 投票 0

检测Django相关对象是否已通过select_lated预取

假设我有以下型号: 类产品: 名称 = models.CharField(max_length=128) 产品版本类: 名称 = models.CharField(max_length=128) 产品 = models.ForeignKey(

回答 1 投票 0

如何使用变量而不是在过滤器查询集中给出字段django

如果我有这样的课程: 类名:field1 = ... field2 = ... ... 我不知道用户应该给出什么字段或模型,因此键将是模型中的字段名称和值...

回答 1 投票 0

Django 用 timedelta 注释日期并增加

我正在尝试查询所有过期的预订,但我没有像 end_date 这样的任何字段,我有 start_date 和总行程__days。 这是我的查询: 导入日期时间 从 django.db.models 导入...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.