Commit Graph

406 Commits

Author SHA1 Message Date
David Sanders
6acd917cf7
Drop old Django compatibility code 2019-04-15 05:53:30 -07:00
Ronny Vedrilla
29b8ea8398 Bugfix: FormMutation was always causing boolean fields to be required 2019-04-05 14:27:53 +02:00
Andrew Bettke
a7ee042e9d Merge branch 'master' of https://github.com/graphql-python/graphene-django into fix/enhanced-proxy-model-support 2019-04-01 22:15:16 +13:00
Patrick Arminio
923d8282c7 Fix duplicated ErrorType declaration (#539)
* Add failing test case

* Fix duplicated ErrorType declaration
2019-03-31 12:01:43 +01:00
Jason Kraus
0a5020bee1 Get queryset (#528)
* first attempt at adding get_queryset

* add queryset_resolver to DjangoConnectionField and fix test failures

* cleanup get_queryset API to match proposal as close as possible

* pep8 fix: W293

* document get_queryset usage

* add test for when get_queryset is defined on DjangoObjectType
2019-03-31 12:01:17 +01:00
Gary Donovan
fcc3de2a90 Allow graphql schema export to use a canonical representation (#439)
When we use the `graphql_schema` management command, the output can vary from run to run depending on arbitrary factors (because there is no guarantee made about the order used to output JSON dictionary keys). This makes it difficult to compare two schema's at different points in time.

We address this by including a new `canonical` flag to the command, which uses standard `json.dump` funcitonality to sort dictionary keys and force pretty-printed output.
2019-03-31 11:30:29 +01:00
Alexandre Kirszenberg
8beadc759f Correctly propagate NonNull to inner connection type 2019-03-30 19:43:11 +01:00
Ronny Vedrilla
3c11a980fe Python 2.7 syntax compat 2019-03-29 12:53:18 +01:00
Ronny Vedrilla
b491878c27 * Added test class for django api unittests and documentation how to use it 2019-03-29 11:51:40 +01:00
Andrew Bettke
959e98eeb0 Refactor to use formal to_global_id. 2019-03-28 09:56:10 +13:00
sierreis
d2f8bf730b Test exception when both filterset_class and filter_fields are set 2019-03-27 14:05:42 -04:00
Ronny Vedrilla
d5d0c519ce Replaced a copy-paste error causing one test case not to run 2019-03-27 15:21:15 +01:00
Andrew Bettke
a461e80ee4 Correctly encode / decode for python3+. 2019-03-27 17:56:06 +13:00
Andrew Bettke
83a2ad34cd Encode strings before passing to b64encode. 2019-03-27 17:28:56 +13:00
Andrew Bettke
980142dfcf Fix linting. 2019-03-27 17:24:13 +13:00
Andrew Bettke
36ac5626e9 Adds enhanced support for proxy models. 2019-03-27 17:09:25 +13:00
sierreis
132c4cb9d4 Fixed so that GrapheneFilterSetMixin is used with any provided filterset_class 2019-03-25 23:45:14 -04:00
sierreis
4d905a46ac Fixed flake8 lint error 2019-03-25 10:03:54 -04:00
sierreis
5c191b9062 Add support for filterset_class meta parameter
* Allow for use of either filter_fields or filterset_class
* Add tests to check that the behavior is similar to filter_fields
* Add documentation to show how to make use of the parameter
2019-03-25 00:38:49 -04:00
Adam Johnson
ea2cd9894f Always use HTTPS for CDN files (#498)
* Always use HTTPS for CDN files

There's no point using insecure, deprecated HTTP even if the current page is on HTTP.

* add integrity and crossorigin attributes
2019-03-19 20:34:10 +00:00
Jonathan Kim
297b807f96
Merge pull request #508 from danpalmer/graphiql-no-querystring
Improve Security of GraphiQL
2019-03-16 11:30:32 +00:00
Jonathan Kim
ce8fa7f9f2 Fix lint error 2019-03-09 22:39:04 +01:00
Syrus Akbary
f76f38ef30
Merge pull request #512 from kalekseev/schema-to-stdout
Provide a way to dump schema to stdout.
2018-09-09 22:49:53 +02:00
Dan Palmer
2b08e59bea
Revert to default query execution behaviour
The only security risk here is persuading a user to execute a mutation,
which is probably not a big risk. To mitigate this risk and still keep
the same UX (that is so valuable), would require more work than is
proportionate for this PR.
2018-09-09 21:44:30 +01:00
Dan Palmer
040f6aa10e
Document, including whether fields are required 2018-09-09 19:01:00 +01:00
Dan Palmer
e6b21594d7
Add some documentation to DjangoDebug 2018-09-09 18:59:28 +01:00
Konstantin Alekseev
85527e1f94 Provide a way to dump schema to stdout. 2018-09-08 15:34:48 +03:00
Syrus Akbary
f4bbae29df
Updated version to 2.2.0 2018-09-05 23:20:25 +02:00
Syrus Akbary
21bad6105c
Merge pull request #472 from wsantos/master
Exclude id from mutation for create operations
2018-09-05 13:20:38 +02:00
Jay Hale
0314931f12 Removed Django < 1.11 compatibility checks from tests 2018-09-04 13:15:04 -04:00
Jay Hale
f8dff38e29 Remove unnecessary compat utility for Django < 1.11 2018-09-04 13:15:04 -04:00
Jay Hale
d8bdda94df Add back support for django-filter < 2 2018-09-04 13:15:04 -04:00
Jay Hale
dc0c2900d1 Making GrapheneFilterSetMixin compatible with django_filter 2 2018-09-04 13:15:04 -04:00
Dan Palmer
7e8f6dbd4e
Change quotes to improve some syntax highlighting 2018-08-30 20:58:00 +01:00
Dan Palmer
e50e12bc9f
Move GraphiQL's JS into a separate file for ease of CSP 2018-08-30 20:36:26 +01:00
Dan Palmer
24ebc20bf4
Fix comment 2018-08-30 20:32:38 +01:00
Dan Palmer
d1b734f07d
Allow the user to see the query before prompting
This also allows the introspection query through so that the user can
edit with intellisense before being prompted.
2018-08-30 20:31:39 +01:00
Dan Palmer
9a5b3556d3
Special case reloads as allowed if we can 2018-08-30 19:48:38 +01:00
Dan Palmer
0d8f9db3fb
Pass options from the fragment, not the template context 2018-08-30 19:48:21 +01:00
Dan Palmer
3755850c2e
Use the fragment for the URL 2018-08-30 19:47:48 +01:00
Dan Palmer
219005952a
Don't execute on GET for GraphiQL
We can also now return GraphiQL earlier in the request handling.
2018-08-30 19:29:33 +01:00
Waldecir Santos
d4a9c2bb89 Fix tests. 2018-07-22 23:53:58 +01:00
Waldecir Santos
c1bd3c4c15 Exclude id from mutation, useful for create operations. 2018-07-22 23:35:11 +01:00
Syrus Akbary
dc561c68c4 Updated version to 2.1.0 2018-07-19 16:52:24 -07:00
Syrus Akbary
54ef52e1c6 Reformatted files using black 2018-07-19 16:52:24 -07:00
Syrus Akbary
1755948768
Update __init__.py 2018-06-08 11:53:00 -07:00
Syrus Akbary
763665f2f6 Updated version to 2.1rc0 2018-06-05 15:21:11 -07:00
Syrus Akbary
27a7c0e299 Added support for FilePathField 2018-06-05 14:39:51 -07:00
Syrus Akbary
a9d819e1f7 Removed repeated function 2018-06-05 14:24:41 -07:00
Syrus Akbary
10d2f3eea7 Commented the input form class, for now 2018-06-05 14:17:07 -07:00
Syrus Akbary
364d4f8f41 Merge branch 'master' into form_mutations 2018-06-05 13:32:45 -07:00
Syrus Akbary
546a82b7ec Updated time imports 2018-06-05 13:32:32 -07:00
Syrus Akbary
bb6da28008 Merge branch 'master' into form_mutations 2018-06-05 13:31:29 -07:00
Syrus Akbary
a9e5beb9eb Merge branch 'master' into form_mutations
# Conflicts:
#	graphene_django/forms/converter.py
#	graphene_django/forms/tests/test_converter.py
2018-06-05 13:23:39 -07:00
Syrus Akbary
883d1778d5
Merge pull request #336 from urbandove/django2
support Django 2 + in tests
2018-06-05 13:02:09 -07:00
Syrus Akbary
7563045d75
Merge pull request #290 from DouglasConnect/fix-distinct-bug
Fix distinct bug
2018-06-05 12:57:19 -07:00
Syrus Akbary
a65f786ba4 Fixed requirement 2018-06-05 12:31:25 -07:00
Syrus Akbary
33c6fdf5ab Added graphql-core min version to requirements 2018-06-05 01:24:53 -07:00
=
43c0c99136 fix lint error 2018-04-15 00:21:53 -04:00
=
b331319aea Fix merge conflicts 2018-04-15 00:12:49 -04:00
Syrus Akbary
a480a39713
Merge pull request #326 from pizzapanther/drf-serializer-update
DRF Serializer update
2018-03-29 23:22:14 -07:00
Syrus Akbary
70dffa94e7
Merge pull request #212 from maqquettex/fix_cbv_inheritance
Inheritance support for GraphQLView (class attributes)
2018-03-29 23:19:29 -07:00
Syrus Akbary
d2c1e7c87b
Merge pull request #391 from mongkok/test-custom-meta-setdefault
Test DjangoObjectType custom meta .setdefault()
2018-03-29 21:02:35 -07:00
Daniel Bachler
c32340662c Remove print statement 2018-03-28 12:28:58 +02:00
Syrus Akbary
fdb7d5a253
Merge pull request #395 from mbarrientos/drf-list-serializers
Fixes #371 - Support ListSerializer fields in SerializerMutation
2018-03-14 23:31:10 -07:00
Daniel Bachler
34f5978446 Move distinct check code to merge_querysets again 2018-02-28 17:52:27 +01:00
Daniel Bachler
4d41160379 Update resolve method signature to 2.0 style in new test 2018-02-28 17:45:25 +01:00
Daniel Bachler
e05fbcc1b3 Fix failing unit test by handling cases where a connection is resolved involving a query with inner join and distinct that is then filtered and would be combined with a filtered queryset that is not distinct. 2018-02-28 14:41:47 +01:00
Daniel Bachler
23eb8eea80 Add failing test case 2018-02-28 14:41:47 +01:00
eyal0803
e12c329507
Added support for Django 1.8.x
Since I didn't know why the `rel` attribute wasn't there in the first place, maybe it's better to use the `remote_field` only if it's there and leave `rel` as a default (i.e else).
2018-02-23 12:20:37 +02:00
eyal0803
e51f6070df
Fixes #400
After more digging than I expected (and planned), I'm 99% sure that the problem comes from `graphene_django`.

I found a [comment](16436f3751/django/db/models/fields/reverse_related.py (L4-L6)) in Django's source that refers to an attribute named `remote_field`, instead of `rel`.

It seamed to fix the problem for me without any other bugs (yet).
2018-02-22 05:45:40 +02:00
mbarrientos
3793ce17c0 Add support for ListSerializer fields in SerializerMutation 2018-02-13 12:12:50 +01:00
Syrus Akbary
dbd3957a9f
Merge pull request #340 from urbandove/qfactor
Fix qfactor rankings for HTTP-ACCEPT
2018-02-11 14:01:18 -08:00
Syrus Akbary
5b17e98217
Merge pull request #356 from jkimbo/upgrade-graphiql
Upgrade graphiql and react versions
2018-02-11 13:47:48 -08:00
Syrus Akbary
c0edb0c927
Merge pull request #373 from jm2242/proxy-model-support
Basic Proxy model support
2018-02-11 13:46:13 -08:00
=
12b022a49a Remove old test 2018-02-09 16:46:22 -05:00
Syrus Akbary
94ee97085f
Merge pull request #368 from sciyoshi/convert-date-time
Convert Date/Time/DateTime form fields to appropriate Graphene types
2018-02-08 12:15:00 -08:00
Syrus Akbary
adde400893
Merge pull request #335 from urbandove/master
models.DateField => graphene Date Scalar
2018-02-08 12:14:13 -08:00
Paul Bailey
91a99ee39c serializer update support 2018-02-06 13:37:28 -06:00
Syrus Akbary
c585982a1a
Merge pull request #382 from patrick91/patch-1
Improve ErrorType
2018-02-03 22:25:03 -08:00
Jonathan Mares
bfcfccfc8d undo cascade changes 2018-02-03 22:51:25 -05:00
=
da3bb5eea8 Bump graphene-django version 2018-02-03 18:35:38 -05:00
=
1bf5da2a8d Remove commits related to django 2.0 support from pull request 2018-02-03 18:32:18 -05:00
Jonathan Mares
bc1d47efb5 fix a line break 2018-02-03 14:36:25 -05:00
Jonathan Mares
0b103417f9 on_delete param where needed due to django 2 requirements
added support for querying a model with objects that may be a proxy model, fixed and added tests

a few style changes
2018-02-03 11:10:04 -05:00
mongkok
55dc65753e Test custom meta .setdefault() 2018-02-03 21:12:35 +05:30
Syrus Akbary
e827b10e7b
Merge pull request #379 from mongkok/default-meta
Allow DjangoObjectType to have default meta
2018-02-02 15:06:09 -08:00
Syrus Akbary
fd3faf04e5
Merge pull request #341 from urbandove/tests
Add tests
2018-02-02 13:57:12 -08:00
mongkok
3051374b46 Fix Python 2.7 super arguments 2018-02-03 03:23:10 +05:30
mongkok
b81e961c86 Test DjangoObjectType with custom meta #364 2018-02-03 03:16:58 +05:30
Anton Zhdan-Pushkin
3682fe0318 Test of inherited class 2018-02-01 16:39:06 +02:00
Anton Zhdan-Pushkin
2cb3d4b68e Class attributes for GraphQLView (schema, pretty, graphiql, batch) 2018-02-01 16:39:06 +02:00
Jonathan Kim
cf35f7c76c Upgrade graphiql and react versions 2018-02-01 10:01:05 +00:00
Samuel Cormier-Iijima
bb2d24ec27
Convert Date/Time/DateTime form fields to appropriate Graphene types 2018-02-01 09:57:24 +00:00
Patrick Arminio
6a152820ca
Improve ErrorType
Marks some fields as required and non null, it also prevents to do useless checks on the frontend if using a typed language.
2018-02-01 09:52:16 +00:00
mongkok
167d0a3964 Allow DjangoObjectType to have default _meta 2018-01-22 01:03:52 +05:30
=
1352d4e02b Fix func names 2017-12-18 12:33:42 -05:00
=
f31db13cd0 Add blank line for linting 2017-12-18 12:02:04 -05:00
=
28cccb49f7 add saces for linter 2017-12-18 11:40:19 -05:00
=
6da95d72ea Rename [html/json]_index to _priority 2017-12-16 19:32:01 -05:00
=
51f794edb6 Test Connectionfield with custom Manager 2017-12-12 12:52:32 -05:00
=
616c549d2c Fix ConnectionField Last Test 2017-12-12 12:49:02 -05:00
=
29935c2d33 Test Last works 2017-12-12 12:33:32 -05:00
=
de59d26968 Test: erro if last is greater than max - plus fix wrong variable 2017-12-12 12:24:11 -05:00
=
65e63026a0 Add tests 2017-12-11 21:23:00 -05:00
=
6008cb6de4 Fix qfactor rankings for HTTP-ACCEPT 2017-12-11 21:08:42 -05:00
=
d2db5f5584 Remove Django1.7 shims 2017-12-10 00:53:13 -05:00
=
f687406ac5 Add on_delete atrributes to test models foreignkeys 2017-12-07 13:00:22 -05:00
=
384bff08e8 Add fallback for depracated atrribute 2017-12-06 13:10:03 -05:00
=
d314d1041f rel -> remote_field: Update Django DeprecatedAttribute 2017-12-06 12:50:55 -05:00
=
62c0694901 models.DateField corresponds to graphene Date Scalar 2017-12-05 15:04:29 -05:00
=
73706fa6bb Add on_delete atrributes to test models foreignkeys 2017-12-05 15:01:52 -05:00
Grant McConnaughey
c3938d1e4f Fix line length 2017-11-29 15:31:26 -06:00
Grant McConnaughey
6d7a0d053d Make id field an ID type 2017-11-29 15:25:24 -06:00
Grant McConnaughey
748dc4c509 Add id input field to model form mutation 2017-11-29 15:15:16 -06:00
Grant McConnaughey
d6dbe2a4a8 Default return_field_name is camcelcased 2017-11-29 14:20:56 -06:00
Grant McConnaughey
40610c64a3 Support instance kwarg 2017-11-29 14:12:02 -06:00
Syrus Akbary
5661db88d1
Merge pull request #156 from aaxelb/master
Fix #87: Don't create duplicate Enums for fields with choices
2017-11-14 21:14:51 -08:00
Syrus Akbary
670437d756
Merge branch 'master' into patch-1 2017-11-14 21:05:47 -08:00
Paul Bailey
6cfd5b2854 added line ending 2017-11-14 22:10:26 +00:00
Paul Bailey
0a660e5e56 Merge remote-tracking branch 'upstream/master' 2017-11-14 22:04:02 +00:00
Syrus Akbary
568073a090
Merge pull request #325 from urbandove/master
Fix infinite recursion when sublassing DjangoFilterConnectionField
2017-11-14 13:16:26 -08:00
Paul Bailey
345fe877c4 added ModelSerializer tests 2017-11-13 20:35:00 +00:00
Paul Bailey
c72e7e55eb added ModelSerializer tests 2017-11-13 20:33:12 +00:00
=
3f08ed629c Fix infinite recursion when sublassing DjangoFilterConnectionField and merging querysets 2017-11-13 14:56:25 -05:00
Samuel Cormier-Iijima
1db1cbdd9c
Fix passing request context to filterset creation
Currently this code throws an error about `context` not being defined.
2017-11-13 12:47:55 -05:00
Paul Bailey
3d30038795 Merge remote-tracking branch 'upstream/master' 2017-11-13 16:10:56 +00:00
Paul Bailey
75e11a8195 add created field to test 2017-11-13 16:06:07 +00:00
Syrus Akbary
bc59d0ad8e
Merge pull request #232 from basilfx/master
Pass context object to FilterSet for request-baed filtering
2017-11-13 02:39:18 -08:00
Syrus Akbary
b8fb64d893
Merge branch 'master' into fix-select-related 2017-11-13 02:31:15 -08:00
Syrus Akbary
94e2a5c49f
Merge pull request #313 from BossGrand/feature/allow_abstract_connections
Allow DjangoObjectType to use an Abstract Connection Class
2017-11-13 02:23:46 -08:00
Paul Bailey
e05f41af40 fixed indentation 2017-11-12 23:10:29 +00:00
Paul Bailey
e7391937dd fixes #322, fixed incorrect serializer instance usage 2017-11-10 21:49:48 +00:00
Charles Haro
4013f78ecb fix default_queryset overriding queryset when merging queries 2017-11-03 12:26:49 -07:00
Charles Haro
6d0837e7cb add test to show annotation not being perservered 2017-11-03 12:26:33 -07:00
Charles Haro
5491e2cb00 add test to show .reverse() not being perserved 2017-11-03 12:25:22 -07:00
Abram Booth
b5e7614b05 More specific None check. 2017-10-31 09:33:16 -04:00
Charles Haro
2a39f5d8ea Allow abstract Connection Class to DjangoObjectType
referred to as connection_class, it will instantiate the connection from the provided class or default to graphene.Connection if not supplied
2017-10-30 14:35:29 -07:00
Syrus Akbary
5051d3bb61 Fixed lint 2017-10-25 10:54:13 -07:00
Syrus Akbary
de3947351b Updated graphene-django to 2.0 🎉 2017-10-25 10:49:37 -07:00
Jacob
1d76db8164 Use super for base queryset logic 2017-10-14 13:23:08 -05:00
Cameron Dawson
69cec060d8 Fix select_related with filtering 2017-10-14 13:23:08 -05:00
Grant McConnaughey
bf7ad7eeda Test invalid forms 2017-10-02 13:15:29 -05:00
Grant McConnaughey
463ce68b16 Change mutations to new 2.0 format 2017-10-02 13:03:20 -05:00
Grant McConnaughey
666ddb2ff3 Merge form converter modules 2017-10-02 09:42:57 -05:00
Grant McConnaughey
f5083cb190 Change form valid method names 2017-10-02 09:32:36 -05:00
Grant McConnaughey
4f904f4700 Test mutation 2017-10-02 09:31:58 -05:00
Grant McConnaughey
80a06a0354 Fix flake8 issue 2017-10-02 09:31:58 -05:00
Grant McConnaughey
26a4d315c5 Use options correctly 2017-10-02 09:31:58 -05:00
Grant McConnaughey
f034946cda Add Django form-based mutations 2017-10-02 09:31:58 -05:00