- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个看起来像这样的 Django 模型(当然是简化的):
from django.db import models
from polymorphic.models import PolymorphicModel
class Tournament(models.Model):
slug = models.CharField(max_length=100, unique=True)
class Event(PolymorphicModel):
tournament = models.ForeignKey(Tournament, related_name='events')
slug = models.CharField(max_length=100)
class PracticeEvent(Event):
pass
class MatchEvent(Event):
winner = models.CharField(max_length=100, null=True, blank=True, default=None)
锦标赛包括两种类型的赛事:练习赛和比赛。我想使用 GraphQL、使用 Graphene 来公开这个模型。这是我想到的:
import graphene
from graphene_django import DjangoObjectType
from . import models
class TournamentType(DjangoObjectType):
class Meta:
model = models.Tournament
exclude_fields = ('id',)
class EventType(graphene.Interface):
tournament = graphene.Field(TournamentType, required=True)
slug = graphene.String(required=True)
class PracticeEventType(DjangoObjectType):
class Meta:
model = models.PracticeEvent
interfaces = (EventType,)
exclude_fields = ('id',)
class MatchEventType(DjangoObjectType):
class Meta:
model = models.MatchEvent
interfaces = (EventType,)
exclude_fields = ('id',)
extra_types = {PracticeEventType, MatchEventType}
class Query(graphene.ObjectType):
tournaments = graphene.List(TournamentType)
events = graphene.List(EventType)
# ... resolvers ...
schema = graphene.Schema(
query=Query,
types=schema_joust.extra_types,)
到目前为止,一切顺利;我可以直接查询events { ... }
,甚至锦标赛
也可用。但是,由于 model = models.Event
中没有 DjangoObjectType
,因此我无法查询 tournaments { events {...} }
。 ..
我该如何解决这个问题?我无法将 EventType
设为 DjangoObjectTpe
,并且我不知道在事后添加 events
字段。
最佳答案
靠自己,EventType.tournament
和TournamentType.events
没那么难。第一个如问题所示,第二个可以这样实现:
class EventType(graphene.Interface):
slug = graphene.String(required=True)
class TournamentType(DjangoObjectType):
class Meta:
model = models.Tournament
exclude_fields = ('id',)
events = graphene.List(EventType)
def resolve_events(self, info):
return self.events.all()
graphene-django 无法识别这种关系,但手动声明和解析该字段可以解决问题。还可以获得反向字段,如果我们不需要引用TournamentType
,这将起作用。 ,我深入研究 graphene-django 并发现 graphene_django.converter.convert_django_field_with_choices
。这让我们可以像这样定义字段:
import graphene
from graphene_django import DjangoObjectType, converter, registry
from . import models
class EventType(graphene.Interface):
tournament = converter.convert_django_field_with_choices(
models.Event.tournament.field, registry.get_global_registry())
slug = graphene.String(required=True)
关于 Django 与 Graphite 烯 : How to handle bidirectional relationship with polmorphic models?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49562532/
有没有办法简单地显示选定时间段内值的变化?我感兴趣的是最后一个值与初始值相比的偏移量。在一段时间内,这些值可能会高于和低于这些值,这并不是真正相关的(并且在我的情况下是异常(exception))。
我目前正在使用 Ganglia 收集监控指标,我想使用 Graphite 显示包含该数据的图表。我知道这样的集成是可能的,我找到了 article描述应该如何做。我不太确定这种集成是如何工作的,尤其是
我已经在专用的 Ubuntu 服务器上安装了 Graphite,它正确地收集了自己的系统性能数据,例如cpu 使用率 和 load_avg 并将其发送到 Carbon,然后我可以在 Graphite
我们需要收集多个服务器和业务流程上的时间序列信息,并考虑使用 Graphite 。如果我们想显示原始数据似乎很好。但是,如果我们想对这些数据进行 BI 并运行自定义查询怎么办? Graphite 是否
让我们想象一下我在 Graphite 中有这个查询: level1.level2.*.level4.count 我希望我的别名是level is: level3 但我找不到路。 看完graphite
假设我有一个名为 a.b.c.count 的指标.我正在尝试编写一个 python 脚本来读取度量的最新值 a.b.c.count在 Graphite 中。 我浏览了文档并发现我们可以使用 curl
我有一个应用程序,它通过statsd向 Graphite 发布许多统计信息。每当服务接收到一条消息时,其中一个统计信息就会简单地向statsd发送一个统计增量。我需要显示一个图表,显示此统计信息随时间
前段时间我用 nginx 部署了 Graphite ,有厨师,但没有卡住要安装的版本。因此,现在,尝试使用相同的配方进行安装时,由于缺少与版本相关的内容而出现错误。 我需要找到我在其他 CentOS
我们运行 etsy/statsd 节点应用程序,它每 10 秒将统计信息刷新到 carbon/whisper。如果您发送 100 个增量(计数),在前 10 秒内,graphite 会正确显示它们,例
如何将我的指标保存在根级别。当前已保存在统计层次结构下(请参阅 graphite )想要保存在顶层(Graphite)下 最佳答案 将这些设置添加到您的 statsd 配置文件中(可能类似于 /etc
我有一个计数器指标,我将其称为a.metric.count 正常绘制时,这将是一条不断增加的向上线,这没有多大用处。我想要的是显示每小时发生的事件数。 最佳答案 使用derivative函数,如下所述
我想删除 Graphite 的存储耳语数据,但 Graphite 文档中没有任何内容。 我所做的一种方法是手动删除 /opt/graphite...../whispers/stats... 中的文件。
我在网上搜索过,但找不到任何漂亮的 Graphite 模板,这些模板可以放置在 graphtemplates.conf 中,并通过在查询字符串中添加 ?template=[name] 来在图表中使用。
我正在开始检测 Web 应用程序,并使用 StatsD 收集尽可能多的相关指标。例如,以下是我当前使用的高级指标名称的一些示例: http.responseTime http.status.4xx h
在设置 Graphite 时,我不小心将保留期设置为 1800 天而不是 180 天。 '10s:6h,10min:1800d' 据我了解,现在更改保留不会清除旧数据。我不确定如何在不破坏我们拥有的所
我正在使用 Graphite 和 Collectd 来监控我的服务器。特别是,我正在使用 tail插件来计算失败的 SSH 登录。我正在为这个指标使用一个计数器,所以希望看到 1、2、3、0 等...
我正在准备重构一些Graphite指标名称,并希望能够保留历史数据。 .wsp文件是否可以重命名(如果更高级别的组件发生更改,则可以将其移动到新目录中)吗? 示例:group.subgroup1.me
我正在遵循这些说明(https://www.digitalocean.com/community/tutorials/how-to-install-and-use-graphite-on-an-ubu
每次用户连接到我的网站时,我都会发送一条消息。 使用这种格式: "user_login 1 13xxxxxxx" (key value timestamp) 我的问题是 Graphite 给我一个图
我正在玩grafana,我想创建一个面板,在其中比较一台应用服务器的数据与其他服务器的平均值。就像是: apps.machine1.someMetric averageSeries(apps.*.no
我是一名优秀的程序员,十分优秀!