मैं ग्राफिकल एपीआई बनाने के लिए graphen-django का उपयोग करता हूं। मैंने सफलतापूर्वक इस एपीआई को बनाया है, लेकिन मैं अपनी प्रतिक्रिया फ़िल्टर करने के लिए तर्क नहीं दे सकता।graphene-django - फ़िल्टर कैसे करें?
यह मेरा models.py है:
from django.db import models
class Application(models.Model):
name = models.CharField("nom", unique=True, max_length=255)
sonarQube_URL = models.CharField("Url SonarQube", max_length=255, blank=True, null=True)
def __unicode__(self):
return self.name
यह मेरा schema.py है: मॉडल से graphene_django आयात DjangoObjectType से आयात ग्राफीन आयात आवेदन
class Applications(DjangoObjectType):
class Meta:
model = Application
class Query(graphene.ObjectType):
applications = graphene.List(Applications)
@graphene.resolve_only_args
def resolve_applications(self):
return Application.objects.all()
schema = graphene.Schema(query=Query)
मेरे urls.py:
urlpatterns = [
url(r'^', include(router.urls)),
url(r'^admin/', admin.site.urls),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^api-token-auth/', authviews.obtain_auth_token),
url(r'^graphql', GraphQLView.as_view(graphiql=True)),
]
जैसा कि आप देख सकते हैं, मेरे पास एक आरईएसटी एपीआई भी है।
मेरे settings.py इस में शामिल हैं:
GRAPHENE = {
'SCHEMA': 'tibco.schema.schema'
}
मैं इस का पालन करें: https://github.com/graphql-python/graphene-django
जब मैं इस resquest भेजें:
{
applications {
name
}
}
मैं इस प्रतिक्रिया मिल गया है:
{
"data": {
"applications": [
{
"name": "foo"
},
{
"name": "bar"
}
]
}
}
तो, यह काम करता है!
लेकिन जब मैं इस तरह एक तर्क पारित करने के लिए प्रयास करें:
{
"errors": [
{
"message": "Unknown argument \"name\" on field \"applications\" of type \"Query\".",
"locations": [
{
"column": 16,
"line": 2
}
]
}
]
}
मैं क्या चूक गए:
{
applications(name: "foo") {
name
id
}
}
मैं इस प्रतिक्रिया है? या शायद मैं कुछ गलत करूँ?