mirror of
				https://github.com/graphql-python/graphene-django.git
				synced 2025-11-04 09:57:53 +03:00 
			
		
		
		
	* 🔧 Add pre-commit config Similar to graphene and graphene-sqlalchemy * ⬆ Bump black * 👷 Lint on CI * ⬆ Bump flake8-black * 🔧 Keep excluding migrations * ⬆ Bump flake8 * 🔧 Remove black and flake8 from tox config * ⬆ Update pre-commit versions * Upgrade syntax to python 3.7+ * Format with pre-commit dedent docs/schema.py to allow formatting * Fix tests on python 3.7
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import graphene
 | 
						|
from graphene_django.types import DjangoObjectType
 | 
						|
 | 
						|
from .models import Recipe, RecipeIngredient
 | 
						|
 | 
						|
 | 
						|
class RecipeType(DjangoObjectType):
 | 
						|
    class Meta:
 | 
						|
        model = Recipe
 | 
						|
        fields = "__all__"
 | 
						|
 | 
						|
 | 
						|
class RecipeIngredientType(DjangoObjectType):
 | 
						|
    class Meta:
 | 
						|
        model = RecipeIngredient
 | 
						|
        fields = "__all__"
 | 
						|
 | 
						|
 | 
						|
class Query:
 | 
						|
    recipe = graphene.Field(RecipeType, id=graphene.Int(), title=graphene.String())
 | 
						|
    all_recipes = graphene.List(RecipeType)
 | 
						|
 | 
						|
    recipeingredient = graphene.Field(RecipeIngredientType, id=graphene.Int())
 | 
						|
    all_recipeingredients = graphene.List(RecipeIngredientType)
 | 
						|
 | 
						|
    def resolve_recipe(self, context, id=None, title=None):
 | 
						|
        if id is not None:
 | 
						|
            return Recipe.objects.get(pk=id)
 | 
						|
 | 
						|
        if title is not None:
 | 
						|
            return Recipe.objects.get(title=title)
 | 
						|
 | 
						|
        return None
 | 
						|
 | 
						|
    def resolve_recipeingredient(self, context, id=None):
 | 
						|
        if id is not None:
 | 
						|
            return RecipeIngredient.objects.get(pk=id)
 | 
						|
 | 
						|
        return None
 | 
						|
 | 
						|
    def resolve_all_recipes(self, context):
 | 
						|
        return Recipe.objects.all()
 | 
						|
 | 
						|
    def resolve_all_recipeingredients(self, context):
 | 
						|
        related = ["recipe", "ingredient"]
 | 
						|
        return RecipeIngredient.objects.select_related(*related).all()
 |