From 6355c6d4d23927edc0b58cf303da960e5963db06 Mon Sep 17 00:00:00 2001 From: Alan Crosswell Date: Tue, 21 Aug 2018 10:18:48 -0400 Subject: [PATCH 1/4] replace binary drf_example sqlite3 db file with fixture --- .gitignore | 3 ++ docs/getting-started.md | 1 + drf_example | Bin 80896 -> 0 bytes example/fixtures/drf_example.yaml | 62 ++++++++++++++++++++++++++++++ 4 files changed, 66 insertions(+) delete mode 100644 drf_example create mode 100644 example/fixtures/drf_example.yaml diff --git a/.gitignore b/.gitignore index 1207cc48..6b952e8f 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,6 @@ pip-delete-this-directory.txt *.sw* manage.py .DS_Store + +# example database +drf_example diff --git a/docs/getting-started.md b/docs/getting-started.md index 49bd64b7..26117e0b 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -75,6 +75,7 @@ From Source pip install -r example/requirements.txt pip install -e . django-admin migrate --settings=example.settings + django-admin loaddata drf_example --settings=example.settings django-admin runserver --settings=example.settings diff --git a/drf_example b/drf_example deleted file mode 100644 index 2b54190f8873c12784558b18f8aac186b0c613d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80896 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 S8Q4Rr>$y&NsViZN@&5r)Myl}u diff --git a/example/fixtures/drf_example.yaml b/example/fixtures/drf_example.yaml new file mode 100644 index 00000000..ab62f2ca --- /dev/null +++ b/example/fixtures/drf_example.yaml @@ -0,0 +1,62 @@ +- model: example.blog + pk: 1 + fields: {created_at: ! '2016-05-02 08:27:16.889061', modified_at: ! '2016-05-02 + 08:27:16.889123', name: Personal, tagline: ''} +- model: example.blog + pk: 2 + fields: {created_at: ! '2016-05-02 08:27:23.871459', modified_at: ! '2016-05-02 + 08:27:23.871515', name: Work, tagline: ''} +- model: example.author + pk: 1 + fields: {created_at: ! '2016-05-02 10:09:48.277428', modified_at: ! '2016-05-02 + 10:09:48.277487', name: Alice, email: alice@example.com, type: null} +- model: example.author + pk: 2 + fields: {created_at: ! '2016-05-02 10:09:57.133336', modified_at: ! '2016-05-02 + 10:09:57.133380', name: Bob, email: bob@example.com, type: null} +- model: example.authorbio + pk: 1 + fields: {created_at: ! '2016-05-02 10:10:23.429393', modified_at: ! '2016-05-02 + 10:10:23.429463', author: 1, body: I just want to send messages to Bob.} +- model: example.authorbio + pk: 2 + fields: {created_at: ! '2016-05-02 10:11:30.327832', modified_at: ! '2016-05-02 + 10:11:30.327860', author: 2, body: I get messages from Alice and send them to + Carol} +- model: example.entry + pk: 1 + fields: + created_at: 2016-05-02 10:43:21.271618 + modified_at: 2016-05-02 10:43:21.271678 + blog: 1 + headline: This is a test, this is only a test + body_text: 'And this is the body text for the blog entry. To see comments included + in this payload visit: /entries/1?include=comments' + pub_date: 2015-01-01 + mod_date: 2015-04-05 + n_comments: 0 + n_pingbacks: 0 + rating: 0 + authors: [1] +- model: example.entry + pk: 2 + fields: + created_at: 2016-05-02 10:44:14.376649 + modified_at: 2016-05-02 10:49:30.150845 + blog: 1 + headline: Django, the framework for perfectionists with deadlines + body_text: 'And this is the body text. Try out includes by using this uri: /entries/2?include=comments,authors,authors.bio' + pub_date: 2015-05-01 + mod_date: 2015-09-03 + n_comments: 0 + n_pingbacks: 0 + rating: 0 + authors: [2] +- model: example.comment + pk: 1 + fields: {created_at: ! '2016-05-02 10:44:35.093205', modified_at: ! '2016-05-02 + 10:44:35.093284', entry: 1, body: Love this article!, author: 2} +- model: example.comment + pk: 2 + fields: {created_at: ! '2016-05-02 10:44:55.482302', modified_at: ! '2016-05-02 + 10:44:55.482339', entry: 2, body: Frist comment!!!, author: null} From 8330ae9cff9ee0b7ae9fe95424b6644fbb98366d Mon Sep 17 00:00:00 2001 From: Alan Crosswell Date: Tue, 21 Aug 2018 10:24:23 -0400 Subject: [PATCH 2/4] forgot PyYAML requirement --- example/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/example/requirements.txt b/example/requirements.txt index 0fa77009..5f487d07 100644 --- a/example/requirements.txt +++ b/example/requirements.txt @@ -11,3 +11,4 @@ pyparsing pytz six sqlparse +PyYAML From b4810d083607010e46875a4df0e486174ea8112c Mon Sep 17 00:00:00 2001 From: Alan Crosswell Date: Tue, 21 Aug 2018 10:29:11 -0400 Subject: [PATCH 3/4] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc160067..c591958f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ * Add sorting configuration to `REST_FRAMEWORK` as defined in [json api spec](http://jsonapi.org/format/#fetching-sorting) * Add `HyperlinkedRelatedField` and `SerializerMethodHyperlinkedRelatedField`. See [usage docs](docs/usage.md#related-fields) * Add related urls support. See [usage docs](docs/usage.md#related-urls) +* Replaced binary `drf_example` sqlite3 db with a [fixture](example/fixtures/drf_example.yaml). See [usage docs](docs/usage.md#running-the-example-app). v2.5.0 - Released July 11, 2018 From 2c6de09f8407d62f4aa7c1b8332067b63df88f9f Mon Sep 17 00:00:00 2001 From: Alan Crosswell Date: Tue, 21 Aug 2018 15:29:59 -0400 Subject: [PATCH 4/4] replace yaml with json to avoid added dependency --- example/fixtures/drf_example.json | 124 ++++++++++++++++++++++++++++++ example/fixtures/drf_example.yaml | 62 --------------- example/requirements.txt | 2 +- 3 files changed, 125 insertions(+), 63 deletions(-) create mode 100644 example/fixtures/drf_example.json delete mode 100644 example/fixtures/drf_example.yaml diff --git a/example/fixtures/drf_example.json b/example/fixtures/drf_example.json new file mode 100644 index 00000000..498c0d1c --- /dev/null +++ b/example/fixtures/drf_example.json @@ -0,0 +1,124 @@ +[ +{ + "model": "example.blog", + "pk": 1, + "fields": { + "created_at": "2016-05-02T08:27:16.889", + "modified_at": "2016-05-02T08:27:16.889", + "name": "Personal", + "tagline": "" + } +}, +{ + "model": "example.blog", + "pk": 2, + "fields": { + "created_at": "2016-05-02T08:27:23.871", + "modified_at": "2016-05-02T08:27:23.871", + "name": "Work", + "tagline": "" + } +}, +{ + "model": "example.author", + "pk": 1, + "fields": { + "created_at": "2016-05-02T10:09:48.277", + "modified_at": "2016-05-02T10:09:48.277", + "name": "Alice", + "email": "alice@example.com", + "type": null + } +}, +{ + "model": "example.author", + "pk": 2, + "fields": { + "created_at": "2016-05-02T10:09:57.133", + "modified_at": "2016-05-02T10:09:57.133", + "name": "Bob", + "email": "bob@example.com", + "type": null + } +}, +{ + "model": "example.authorbio", + "pk": 1, + "fields": { + "created_at": "2016-05-02T10:10:23.429", + "modified_at": "2016-05-02T10:10:23.429", + "author": 1, + "body": "I just want to send messages to Bob." + } +}, +{ + "model": "example.authorbio", + "pk": 2, + "fields": { + "created_at": "2016-05-02T10:11:30.327", + "modified_at": "2016-05-02T10:11:30.327", + "author": 2, + "body": "I get messages from Alice and send them to Carol" + } +}, +{ + "model": "example.entry", + "pk": 1, + "fields": { + "created_at": "2016-05-02T10:43:21.271", + "modified_at": "2016-05-02T10:43:21.271", + "blog": 1, + "headline": "This is a test, this is only a test", + "body_text": "And this is the body text for the blog entry. To see comments included in this payload visit: /entries/1?include=comments", + "pub_date": "2015-01-01", + "mod_date": "2015-04-05", + "n_comments": 0, + "n_pingbacks": 0, + "rating": 0, + "authors": [ + 1 + ] + } +}, +{ + "model": "example.entry", + "pk": 2, + "fields": { + "created_at": "2016-05-02T10:44:14.376", + "modified_at": "2016-05-02T10:49:30.150", + "blog": 1, + "headline": "Django, the framework for perfectionists with deadlines", + "body_text": "And this is the body text. Try out includes by using this uri: /entries/2?include=comments,authors,authors.bio", + "pub_date": "2015-05-01", + "mod_date": "2015-09-03", + "n_comments": 0, + "n_pingbacks": 0, + "rating": 0, + "authors": [ + 2 + ] + } +}, +{ + "model": "example.comment", + "pk": 1, + "fields": { + "created_at": "2016-05-02T10:44:35.093", + "modified_at": "2016-05-02T10:44:35.093", + "entry": 1, + "body": "Love this article!", + "author": 2 + } +}, +{ + "model": "example.comment", + "pk": 2, + "fields": { + "created_at": "2016-05-02T10:44:55.482", + "modified_at": "2016-05-02T10:44:55.482", + "entry": 2, + "body": "Frist comment!!!", + "author": null + } +} +] diff --git a/example/fixtures/drf_example.yaml b/example/fixtures/drf_example.yaml deleted file mode 100644 index ab62f2ca..00000000 --- a/example/fixtures/drf_example.yaml +++ /dev/null @@ -1,62 +0,0 @@ -- model: example.blog - pk: 1 - fields: {created_at: ! '2016-05-02 08:27:16.889061', modified_at: ! '2016-05-02 - 08:27:16.889123', name: Personal, tagline: ''} -- model: example.blog - pk: 2 - fields: {created_at: ! '2016-05-02 08:27:23.871459', modified_at: ! '2016-05-02 - 08:27:23.871515', name: Work, tagline: ''} -- model: example.author - pk: 1 - fields: {created_at: ! '2016-05-02 10:09:48.277428', modified_at: ! '2016-05-02 - 10:09:48.277487', name: Alice, email: alice@example.com, type: null} -- model: example.author - pk: 2 - fields: {created_at: ! '2016-05-02 10:09:57.133336', modified_at: ! '2016-05-02 - 10:09:57.133380', name: Bob, email: bob@example.com, type: null} -- model: example.authorbio - pk: 1 - fields: {created_at: ! '2016-05-02 10:10:23.429393', modified_at: ! '2016-05-02 - 10:10:23.429463', author: 1, body: I just want to send messages to Bob.} -- model: example.authorbio - pk: 2 - fields: {created_at: ! '2016-05-02 10:11:30.327832', modified_at: ! '2016-05-02 - 10:11:30.327860', author: 2, body: I get messages from Alice and send them to - Carol} -- model: example.entry - pk: 1 - fields: - created_at: 2016-05-02 10:43:21.271618 - modified_at: 2016-05-02 10:43:21.271678 - blog: 1 - headline: This is a test, this is only a test - body_text: 'And this is the body text for the blog entry. To see comments included - in this payload visit: /entries/1?include=comments' - pub_date: 2015-01-01 - mod_date: 2015-04-05 - n_comments: 0 - n_pingbacks: 0 - rating: 0 - authors: [1] -- model: example.entry - pk: 2 - fields: - created_at: 2016-05-02 10:44:14.376649 - modified_at: 2016-05-02 10:49:30.150845 - blog: 1 - headline: Django, the framework for perfectionists with deadlines - body_text: 'And this is the body text. Try out includes by using this uri: /entries/2?include=comments,authors,authors.bio' - pub_date: 2015-05-01 - mod_date: 2015-09-03 - n_comments: 0 - n_pingbacks: 0 - rating: 0 - authors: [2] -- model: example.comment - pk: 1 - fields: {created_at: ! '2016-05-02 10:44:35.093205', modified_at: ! '2016-05-02 - 10:44:35.093284', entry: 1, body: Love this article!, author: 2} -- model: example.comment - pk: 2 - fields: {created_at: ! '2016-05-02 10:44:55.482302', modified_at: ! '2016-05-02 - 10:44:55.482339', entry: 2, body: Frist comment!!!, author: null} diff --git a/example/requirements.txt b/example/requirements.txt index 5f487d07..fe28eddc 100644 --- a/example/requirements.txt +++ b/example/requirements.txt @@ -11,4 +11,4 @@ pyparsing pytz six sqlparse -PyYAML +