首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django 1.8 官方文档翻译: 2-5-4 聚合 (初稿)

然而,你有时候会想要获取从一组对象导出的值或者是聚合一组对象。这份指南描述了通过Django查询来生成和返回聚合值的方法。 整篇指南我们都将引用以下模型。这些模型用来记录多个网上书店的库存。...例如,在annotate() 中混入多个聚合将会得出错误的结果,因为多个表上做了交叉连接,导致了多余的行聚合。...连接和聚合 至此,我们已经了解了作用于单种模型实例的聚合操作, 但是有时,你也想对所查询对象的关联对象进行聚合。...,然后再生成一个作用于注解上的过滤器。...Django 永远不会 删除你所指定的排序限制(我们不能改动那些方法的行为,因为这会违背 API stability 原则)。 聚合注解 你也可以在注解的结果上生成聚合。

1.7K30

django 1.8 官方文档翻译: 3-1-1 URL调度器

在上面的例子中,两个URL模式指向同一个视图views.page —— 但是第一个模式不会从URL 中捕获任何值。如果第一个模式匹配,page() 函数将使用num参数的默认值”1”。...在更高层的与处理Django 模型实例相关的代码中:使用get_absolute_url() 方法。...类似地,它还允许你在一个应用有多个实例部署的情况下反查URL。换句话讲,因为一个应用的多个实例共享相同的命名URL,命名空间将提供一种区分这些命名URL 的方法。...在一个站点上,正确使用URL 命名空间的Django 应用可以部署多次。例如,django.contrib.admin 具有一个AdminSite 类,它允许你很容易地部署多个管理站点的实例。...这将得到该应用实例的一个列表。 如果有定义当前 应用,Django 将查找并返回那个实例的URL 解析器。当前 应用可以通过请求上的一个属性指定。

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Django url 反向解析 和 命令空间

    命名组¶ 上面的示例使用简单的、没有命名的正则表达式组(通过圆括号)来捕获URL 中的值并以位置 参数传递给视图。...在上面的例子中,两个URL模式指向同一个视图views.page —— 但是第一个模式不会从URL 中捕获任何值。如果第一个模式匹配,page() 函数将使用num参数的默认值"1"。...在更高层的与处理Django 模型实例相关的代码中:使用get_absolute_url() 方法。...在一个站点上,正确使用URL命名空间的Django 应用可以部署多次。例如,django.contrib.admin 具有一个AdminSite 类,它允许你很容易地部署多个管理站点的实例。...这将得到该应用实例的一个列表。 如果有一个当前应用被定义,Django 将查找并返回那个实例的URL 解析器。当前应用可以通过请求上的一个属性指定。

    2.4K30

    37.Django1.11.6文档

    ,然后再生成一个作用于注解上的过滤器。...这确保了在POST情况下的模型形式集将正常工作。 (此示例假设名为id的主键。 如果您明确定义了自己的主键(不是id),请确保其呈现)。  (10)表单集 表单集是同一个页面上多个表单的抽象。 ...将展示相关对象的__str__() (Python 2 上是ForeignKey)。...例如,这可以基于模型实例(作为关键字参数obj传递)。 使用具有两个或多个外键的模型与同一个父模型 有时可能有多个外键到同一个模型。 ...相同的URLconf 中的多个管理站点 在同一个Django供电的网站上创建管理站点的多个实例很容易。 只需要创建AdminSite 的多个实例并将每个实例放置在不同的URL 下。

    24.4K80

    django 1.8 官方文档翻译: 2-2-1 执行查询

    将视它为一个空的 (所有的值都是 NULL), 但是可用的对象。...上述原则同样适用于 exclude():一个单独 exclude() 中的所有筛选条件都是作用于同一个实例 (如果这些条件都是针对同一个一对多/多对多的关系)。...,我们构造的过滤器都只是将字段值与某个常量做比较。...如果我们要对两个字段的值做比较,那该怎么做呢? Django 提供 F() 来做这样的比较。F() 的实例可以在查询中引用字段,来比较同一个 model 实例中两个不同字段的值。...将某个特定的对象从被关联对象集合中去除。 clear() 清空被关联对象集合。 想一次指定关联集合的成员,那么只要给关联集合分配一个可迭代的对象即可。它可以包含对象的实例,也可以只包含主键的值。

    4.4K20

    Django MVT之V

    URL参数 进行url匹配时,把所需要传递的参数设置成一个正则表达式组,Django框架就会自动把匹配成功后相应组的内容作为参数传递给视图函数。...1.位置参数 url(r'^index(\d+)$', views.index) 2.关键字参数:在位置参数的基础上给正则表达式组命名即可。url(r'^index(?...类python字典的类型,但与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况。 get方法 根据键获取值。...如果一个键同时拥有多个值将获取最后一个值,如果键不存在则返回None值,可以设置默认值进行后续处理 dict.get('键', 默认值) # 可简写为 dict['键'] getlist方法 根据键获取多个值...实际上可以用同一个url和同一个视图函数进行处理 def login_view(request): if request.method == 'GET': # 处理get请求

    1.9K20

    Spring Cloud 之 Stream.

    @StreamListener:将被修饰的方法注册为消息中间件上数据流的事件监听器,注解中的属性值对应了监听的消息通道名。如果不设置属性值,将默认使用方法名作为消息通道名。...因为在微服务架构中,我们的每一个微服务应用为了实现高可用和负载均衡, 实际上都会部署多个实例。按照消息广播的性质,多个实例都会接收到消息,从而导致重复消费。...如果在同一个主题上的应用需要启动多个实例的时候,我们可以通过 spring.cloud.stream.bindings..group 属性为应用指定一个组名,这样这个应用的多个实例在接收到消息的时候,只会有一个成员真正收到消息并进行处理...消息分区的引入就是为了解决这样的问题:当生产者将消息数据发送给多个消费者实例时,保证拥有共同特征的消息数据始终是由同一个消费者实例接收和处理。...(消息生产的时候 "hashCode(key) % partitionCount" 的计算值等于该设置的值,即转发到该实例上) 生产者分区: spring: application: name

    87330

    django 1.8 官方文档翻译: 2-1-1 模型语法(初稿)

    如果没有给定自述名,Django 将根据字段的属性名称自动创建自述名–就是将属性名称的空格替换成下划线。...通常来说,如果启用了 Django 管理后台,你就可以在后台将 ManyToManyField 实例添加到关联对象中。...这么设置的原因是因为一个 pizza 有多个 topping 相比于一个 topping 浇在多个 pizza 上要更加自然。...所以,model 方法应该作用于 model 类的实例(也就是说,在实例对象上使用 model 方法,而不是在类上直接使用)。 最好是只在一个地方(就是在 model 中)保存商业逻辑。...但在抽象基类上这样做就会引发一个很严重的问题。因为 Django 会将基类字段添加到每个子类当中,而每个子类的字段属性值都完全相同 (这里面就包括 related_name)。

    3.1K30

    Spring Cloud Stream知识点盘点

    API 概念 group 组内只有1个实例消费。...如果不设置group,则stream会自动为每个实例创建匿名且独立的group——于是每个实例都会消费。 组内单次只有1个实例消费,并且会轮询负载均衡。...一个或多个生产者将数据发送到多个消费者,并确保有共同特征标识的数据由同一个消费者处理。默认是对消息进行hashCode,然后根据分区个数取余,所以对于相同的消息,总会落到同一个消费者上。...注:用 InboundChannelAdapter 注解的方法上即使有参数也没用。即下面test方法不要有参数。...相关文章: https://spring.io/blog/2018/02/27/spring-cloud-stream-2-0-polled-consumers[1] 干货分享 最近将个人学习笔记整理成册

    1K10

    Web | Django 与数据库交互,你需要知道的 9 个技巧

    在本文中,我将分享在 Django 中使用数据库的 9 个技巧。 1....在这种情况下,意味着一个用户只能是同一个组的成员,还是那个模型: class Membership(Model): group = ForeignKey(Group) user = ForeignKey...假设我们在一列中有这些值,每一个都是一个块: 1, 2, 3, 4, 5, 6, 7, 8, 9 我们为每三个相邻的块创建一个范围: [1,2,3], [4,5,6], [7,8,9] 对于每个范围,我们将保存范围内的最小值和最大值...回到文档: ...列与表格内的物理位置有一些自然的相关性 这是 BRIN 索引的关键。为了充分利用它,列中的值必须大致排序或聚集在磁盘上。...但是现在,通过 Django 1.11 支持索引,我们可以轻松地将新类型的索引整合到我们的应用程序中,使它们更轻,更快。

    2.9K40

    构建可维护的大规模应用:框架架构的最佳实践

    本文将探讨如何使用框架架构来提高可维护性,并介绍一些最佳实践。我们还将深入研究几个关键的框架,包括Spring Boot和Django,并通过代码示例加以说明。...模块化设计 将应用程序划分为多个模块有助于提高代码的可维护性。每个模块都具有明确的功能和职责,并且可以通过清晰的接口与其他模块进行交互。...例如,工厂模式可以帮助我们创建对象实例,而策略模式可以让我们根据情况选择不同的算法或策略。 4. 异常处理 在代码中正确处理异常是保持应用程序稳定并减少错误的关键。...这样可以将项目划分为多个模块,每个模块都有自己的职责。例如:我们可以创建一个服务模块用于实现业务逻辑,一个数据访问模块用于与数据库交互等。这种设计方式使得项目结构清晰,维护方便。...例如:我们可以使用 @Description 注解来添加方法的描述,使用 @Parameter 注解来描述方法的参数,使用 @Returns 注解来描述方法的返回值等。

    21610

    构建可维护的大规模应用:框架架构的最佳实践

    本文将探讨如何使用框架架构来提高可维护性,并介绍一些最佳实践。我们还将深入研究几个关键的框架,包括Spring Boot和Django,并通过代码示例加以说明。...模块化设计 将应用程序划分为多个模块有助于提高代码的可维护性。每个模块都具有明确的功能和职责,并且可以通过清晰的接口与其他模块进行交互。...例如,工厂模式可以帮助我们创建对象实例,而策略模式可以让我们根据情况选择不同的算法或策略。 4. 异常处理 在代码中正确处理异常是保持应用程序稳定并减少错误的关键。...这样可以将项目划分为多个模块,每个模块都有自己的职责。例如:我们可以创建一个服务模块用于实现业务逻辑,一个数据访问模块用于与数据库交互等。这种设计方式使得项目结构清晰,维护方便。...例如:我们可以使用 @Description 注解来添加方法的描述,使用 @Parameter 注解来描述方法的参数,使用 @Returns 注解来描述方法的返回值等。

    18710

    spring解析自定义注解_事务的注解@Transactional的属性

    ,或者在这个基础上,通过 @AliasFor 或者同名策略让子注解的值覆盖元注解的值。...只能表示一组来直接或间接自于同一个 AnnotatedElement 的注解之间的映射关系。...; 映射子注解对元注解属性的别名关系:将子注解中通过 @AliasFor 指向父注解的属性的属性值,覆盖到父注解的对应属性上; 令子注解覆盖父注解的同名属性:将子注解中与父注解同名的属性的属性值,覆盖到父注解的对应属性上...,也就是 root 开始,一层一层的向上找,将所有直接或间接与当前注解属性相关的,当前以及其他注解的属性; 处理关联属性:根据搜集到的属性上的 @AliasFor 注解,如果它们在同一注解中形成了别名关系...,若出现多个有非默认值的属性,则直接报错; 然后返回这个最终属性的下标。

    87620

    详细讲解 Spring 中的 @Bean 注解

    在Spring中对于bean的默认处理都是单例的,我们通过上下文容器.getBean方法拿到bean容器,并对其进行实例化,这个实例化的过程其实只进行一次,即多次getBean 获取的对象都是同一个对象...bean的多个实例 bean的非单例原型范围会使每次发出对该特定bean的请求时都创建新的bean实例,也就是说,bean被注入另一个bean,或者通过对容器的getBean()方法调用来请求它。...下面,我们通过一个示例来说明bean的多个实例 新建一个ConfigScope配置类,用来定义多例的bean @Configuration public class ConfigScope {...5@Lazy 注解 表明一个bean 是否延迟加载,可以作用在方法上,表示这个方法被延迟加载;可以作用在@Component (或者由@Component 作为原注解) 注释的类上,表明这个类中所有的bean...@Primary 的两种使用方式: 与@Bean 一起使用,定义在方法上,方法级别的注解 与@Component 一起使用,定义在类上,类级别的注解 新建一个AppConfigWithPrimary类,

    66420

    JavaEE开发之Spring中的条件注解、组合注解与元注解

    在Spring中条件注解可以说是设计模式中状态模式的一种体现方式,同时也是面向对象编程中多态的应用部分。而组合注解就是将现有的注解进行组合。下方会给出具体的介绍和实例。...接下来,我们将来看一下Spring框架中@Conditional注解的具体使用方式。 当然同一个Service接口所对应的条件集合中是互斥的,也就是说在特定情况下只有一个条件成立。...matches()方法的返回值是一个布尔类型的值,如果返回false说明该条件类所对应的条件不成立,如果返回true则说明该条件对应的条件成立。...二、组合注解 组合注解这个就比较好理解了,就是将多个注解组合到一块生成一个新的注解。使用这个新的注解就相当于使用了该组合注解中所有的注解。...这个特性还是蛮有用的,接下来我们就来看一下如何创建和使用组合注解。 1.组合注解的创建 接下来我们就通过一个简单的实例来看一下如何将多个注解组合到一块。

    1K100

    Django Channels websocket 搭建实践(实现长链接消息通知功能)

    它允许多个消费者实例彼此交谈,以及与 Django 的其他部分交谈。 通道层提供以下抽象: 通道是一个可以将邮件发送到的邮箱。每个频道都有一个名称。任何拥有频道名称的人都可以向频道发送消息。...一组是一组相关的通道。一个组有一个名称。任何具有组名称的人都可以按名称向组添加/删除频道,并向组中的所有频道发送消息。无法枚举特定组中的通道。...每个使用者实例都有一个自动生成的唯一通道名,因此可以通过通道层进行通信。 在我们的聊天应用程序中,我们希望同一个房间中的多个聊天消费者实例相互通信。...为此,我们将让每个聊天消费者将其频道添加到一个组,该组的名称基于房间名称。这将允许聊天用户向同一房间内的所有其他聊天用户发送消息。 我们将使用一个使用 redis 作为后备存储的通道层。...要在端口 6379 上启动 Redis 服务器,首先系统上安装 redis,并启动。

    2.2K40

    django 1.8 官方文档翻译: 2-5-1 管理器 (初稿)

    你可以随你所意在一个模型里面添加多个 Manager() 实例。...使用管理器访问关联对象 默认情况下,在访问相关对象时(例如choice.poll),Django 并不使用相关对象的默认管理器,而是使用一个”朴素”管理器类的实例来访问。...创建管理器 * django 1.7 中新增 * 对于上面的例子,同一个方法需要在查询集 和 管理器上创建两份副本,作为替代,QuerySet.as_manager()可以创建一个管理器的实例,它拥有自定义查询集的方法...如果你想在一组模型上安装一系列自定义管理器,上面提到的这些规则就已经为你的实现提供了必要的灵活性。你可以继承一个抽象基类,但仍要自定义默认的管理器。...你也不应该在模型中使用这个属性之后,在类上改变它。这是因为在模型类被创建时,这个属性值马上就会被处理,而且随后不会再读取这个属性值。

    98120

    快速学习-Spring(AOP注解配置)

    5.2 当前连接点细节 5.2.1 概述 切入点表达式通常都会是从宏观上定位一组方法,和具体某个通知的注解结合起来就能够确定对应的连接点。...这些信息都封装在JoinPoint接口的实例对象中。 5.2.2 JoinPoint ? 5.3 通知 5.3.1 概述 在具体的连接点上要执行的操作。 一个切面可以包括一个或者多个通知。...5.4 重用切入点定义 在编写AspectJ切面时,可以直接在通知注解中书写切入点表达式。但同一个切点表达式可能会在多个通知中重复出现。...在AspectJ切面中,可以通过@Pointcut注解将一个切入点声明成简单的方法。切入点的方法体通常是空的,因为将切入点定义与应用程序逻辑混在一起是不合理的。...5.4 指定切面的优先级 在同一个连接点上应用不止一个切面时,除非明确指定,否则它们的优先级是不确定的。 切面的优先级可以通过实现Ordered接口或利用@Order注解指定。

    67420

    django 1.8 官方文档翻译:2-1-1 模型语法

    如果一个字段的blank=True,表单的验证将允许该字段是空值。如果字段的blank=False,该字段就是必填的。...如果没有给定自述名,Django 将根据字段的属性名称自动创建自述名 —— 将属性名称的下划线替换成空格。...例如,一个Pizza可以有多种Topping —— 一种Topping 可以位于多个Pizza 上,而且每个Pizza 可以有多种Topping —— 如下: from django.db import...所以一个 模型 中可以有多个OneToOneField 字段。 跨文件的模型 访问其他应用的模型是非常容易的。 在文件顶部你定义模型的地方,导入相关的模型来实现它。...但在抽象基类上这样做就会引发一个很严重的问题。因为 Django 会将基类字段添加到每个子类当中,而每个子类的字段属性值都完全相同 (这里面就包括related_name)。

    5K20
    领券