graphql-python / graphql-python/graphene-sqlalchemy

MVC: support business logic layer

Offen
#411 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
985
Forks
223
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

We have Model and View aka Node, but we lack a way to write code between them.

```Python
class PetBusinessLogic:
def __init__(self, pet):
self.pet = pet

@property
def name1(self):
return self.pet.name + "!"

@property
def name2(self):
return self.pet.name + "!"

class Pet(SQLAlchemyObjectType):
class Meta:
model = PetModel
name = "Pet"
interfaces = (relay.Node,)
batching = True

def resolve_name1(node, info):
# write here application logic code for a large project is not good idea.
# so we need some controller aka PetBusinessLogic
return PetBusinessLogic(node).name1 # DRY and I would like to initialize it once

def resolve_name2(node, info):
return PetBusinessLogic(node).name2 # DRY and I would like to initialize it once
```

Any suggestions for this design problem?
*(put this PetBusinessLogic into model is also bad idea)

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.