小编Tac*_*nol的帖子

仅保留 Reducer 中的某些字段

嗨,在我们的应用程序中,我们有一个减速器模式:

{
   data: //here we have our actual data
   fetching: // is it still fetching 
   intact: // has it been 'touched'
   error: //errors if need be
}
Run Code Online (Sandbox Code Playgroud)

此外,由于业务需求,我需要坚持一个 ReduxForm,它是它自己的蠕虫罐......

form: {
    Foobar: {
      values: {

      },
      initial: {

      },
      syncErrors: {

      },
      registeredFields: {

      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

正如您可能已经发现的那样,保留数据以外的任何内容都是没有意义的,但是 Redux-Persist 保留了整个 reducer。关于过滤和转换的例子有点……我觉得乏味,我一直在努力实现。寻找一个例子

javascript reactjs redux redux-form redux-persist

6
推荐指数
1
解决办法
3527
查看次数

Python Graphene 处理多对多关系

如果这个问题在其他地方得到回答,那么我很抱歉,但是下班后两天,仍然没有雪茄......

我有一个播放器模型:

class Player(models.Model):
    name = models.CharField(max_length=60)
    discord_id = models.CharField(max_length=60, null=True)
    known_npcs = models.ManyToManyField(NPC)

Run Code Online (Sandbox Code Playgroud)

玩家可以认识很多NPC,而任何NPC都可以被很多玩家认识。

NPC没什么特别的:

class NPC(models.Model):
    image = models.ImageField()
    name = models.CharField(max_length=50)
    description = models.TextField()
Run Code Online (Sandbox Code Playgroud)

谜题的最后一部分是事实,事实是附加到 NPC 的一些信息,但是一个人可以认识一个 NPC,但玩家不一定知道所有与 NPC 相关的事实,因此事实看起来像这样:

class Fact(models.Model):
    fact = models.TextField()
    known_by = models.ManyToManyField(Player)
    npc = models.ForeignKey(NPC, on_delete=models.DO_NOTHING, null=True)
Run Code Online (Sandbox Code Playgroud)

现在在石墨烯中,我想创建一个 Player 和 allPlayers 查询,它会给我这个:

{
  allPlayers {
    name
    knownNPCs {
      image
      name
      description
      factsKnown {
        fact
      }
    }
  }
}

Run Code Online (Sandbox Code Playgroud)

其中已知的事实只是基于 Fact 对象中的多对多关系的事实。

到目前为止,我创建的内容会返回数据,但不会根据玩家父级过滤事实,只是显示与 npc 相关的所有事实:(

事实图式

class FactType(DjangoObjectType):
    class Meta:
        model = …
Run Code Online (Sandbox Code Playgroud)

python django graphql graphene-python graphene-django

5
推荐指数
1
解决办法
3720
查看次数