使用 Python 进行事件溯源:如何进行投影?

问题描述 投票:0回答:0

我正在尝试学习事件溯源设计模式。我正在使用 python eventsourcing 库。

我已经完成了“Dog School”教程,但我不清楚如何进行投影。如果我想检索聚合中的项目列表,我假设我需要一个投影?

图书馆里好像没有投影。我是否负责编写查询以从持久性中提取数据?

来自教程:

class DogSchool(Application):
    def register_dog(self, name):
        dog = Dog(name)
        self.save(dog)
        return dog.id

    def add_trick(self, dog_id, trick):
        dog = self.repository.get(dog_id)
        dog.add_trick(trick=trick)
        self.save(dog)

    def get_dog(self, dog_id):
        dog = self.repository.get(dog_id)
        return {'name': dog.name, 'tricks': tuple(dog.tricks)}

我想要一个像这样的功能:

    def list_dogs(self):
        dogs = get_all_from_aggregate() #??
        return dogs
python cqrs event-sourcing
© www.soinside.com 2019 - 2024. All rights reserved.