Skip to content

Commit aa33959

Browse files
slivercn2ygk
andauthored
Removed all deprecations (#1040)
Co-authored-by: Alan Crosswell <alan@columbia.edu>
1 parent 8cd79ae commit aa33959

17 files changed

+64
-158
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ any parts of the framework not mentioned in the documentation should generally b
2727
* Removed support for Django 3.0.
2828
* Removed support for Django 3.1.
2929
* Removed support for Python 3.6.
30+
* Removed obsolete method `utils.get_included_serializers`.
31+
* Removed optional `format_type` argument of `utils.format_link_segment`.
32+
* Removed `format_type`s default argument of `utils.format_value`. `format_type` is now required.
3033

3134
## [4.3.0] - 2021-12-10
3235

example/factories.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class Meta:
4242
email = factory.LazyAttribute(lambda x: faker.email())
4343

4444
bio = factory.RelatedFactory("example.factories.AuthorBioFactory", "author")
45-
type = factory.SubFactory(AuthorTypeFactory)
45+
author_type = factory.SubFactory(AuthorTypeFactory)
4646

4747

4848
class AuthorBioFactory(factory.django.DjangoModelFactory):

example/fixtures/blogentry.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
"modified_at": "2016-05-02T10:09:48.277",
7878
"name": "Alice",
7979
"email": "alice@example.com",
80-
"type": null
80+
"author_type": null
8181
}
8282
},
8383
{
@@ -88,7 +88,7 @@
8888
"modified_at": "2016-05-02T10:09:57.133",
8989
"name": "Bob",
9090
"email": "bob@example.com",
91-
"type": null
91+
"author_type": null
9292
}
9393
},
9494
{
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Generated by Django 4.0 on 2021-12-29 13:07
2+
3+
import django.db.models.deletion
4+
from django.db import migrations, models
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
("contenttypes", "0002_remove_content_type_name"),
11+
("example", "0010_auto_20210714_0809"),
12+
]
13+
14+
operations = [
15+
migrations.RenameField(
16+
model_name="author",
17+
old_name="type",
18+
new_name="author_type",
19+
),
20+
migrations.AlterField(
21+
model_name="project",
22+
name="polymorphic_ctype",
23+
field=models.ForeignKey(
24+
editable=False,
25+
null=True,
26+
on_delete=django.db.models.deletion.CASCADE,
27+
related_name="polymorphic_%(app_label)s.%(class)s_set+",
28+
to="contenttypes.contenttype",
29+
),
30+
),
31+
]

example/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class Meta:
5454
class Author(BaseModel):
5555
name = models.CharField(max_length=50)
5656
email = models.EmailField()
57-
type = models.ForeignKey(AuthorType, null=True, on_delete=models.CASCADE)
57+
author_type = models.ForeignKey(AuthorType, null=True, on_delete=models.CASCADE)
5858

5959
def __str__(self):
6060
return self.name

example/serializers.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -252,10 +252,13 @@ class AuthorSerializer(serializers.ModelSerializer):
252252
help_text="help for defaults",
253253
)
254254
initials = serializers.SerializerMethodField()
255-
included_serializers = {"bio": AuthorBioSerializer, "type": AuthorTypeSerializer}
255+
included_serializers = {
256+
"bio": AuthorBioSerializer,
257+
"author_type": AuthorTypeSerializer,
258+
}
256259
related_serializers = {
257260
"bio": "example.serializers.AuthorBioSerializer",
258-
"type": "example.serializers.AuthorTypeSerializer",
261+
"author_type": "example.serializers.AuthorTypeSerializer",
259262
"comments": "example.serializers.CommentSerializer",
260263
"entries": "example.serializers.EntrySerializer",
261264
"first_entry": "example.serializers.EntrySerializer",
@@ -270,7 +273,7 @@ class Meta:
270273
"entries",
271274
"comments",
272275
"first_entry",
273-
"type",
276+
"author_type",
274277
"secrets",
275278
"defaults",
276279
"initials",

example/tests/__snapshots__/test_openapi.ambr

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,9 @@
124124
},
125125
"relationships": {
126126
"properties": {
127+
"authorType": {
128+
"$ref": "#/components/schemas/reltoone"
129+
},
127130
"bio": {
128131
"$ref": "#/components/schemas/reltoone"
129132
},
@@ -135,9 +138,6 @@
135138
},
136139
"firstEntry": {
137140
"$ref": "#/components/schemas/reltoone"
138-
},
139-
"type": {
140-
"$ref": "#/components/schemas/reltoone"
141141
}
142142
},
143143
"type": "object"
@@ -532,6 +532,9 @@
532532
},
533533
"relationships": {
534534
"properties": {
535+
"authorType": {
536+
"$ref": "#/components/schemas/reltoone"
537+
},
535538
"bio": {
536539
"$ref": "#/components/schemas/reltoone"
537540
},
@@ -543,9 +546,6 @@
543546
},
544547
"firstEntry": {
545548
"$ref": "#/components/schemas/reltoone"
546-
},
547-
"type": {
548-
"$ref": "#/components/schemas/reltoone"
549549
}
550550
},
551551
"type": "object"

example/tests/test_format_keys.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def test_options_format_field_names(db, client):
5959
"bio",
6060
"entries",
6161
"firstEntry",
62-
"type",
62+
"authorType",
6363
"comments",
6464
"secrets",
6565
"defaults",

example/tests/test_model_viewsets.py

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import pytest
21
from django.contrib.auth import get_user_model
32
from django.test import override_settings
43
from django.urls import reverse
@@ -216,28 +215,3 @@ def test_404_error_pointer(self):
216215
response = self.client.get(not_found_url)
217216
assert 404 == response.status_code
218217
assert errors == response.json()
219-
220-
221-
@pytest.mark.django_db
222-
def test_patch_allow_field_type(author, author_type_factory, client):
223-
"""
224-
Verify that type field may be updated.
225-
"""
226-
# TODO remove in next major version 5.0.0 see serializers.ReservedFieldNamesMixin
227-
with pytest.deprecated_call():
228-
author_type = author_type_factory()
229-
url = reverse("author-detail", args=[author.id])
230-
231-
data = {
232-
"data": {
233-
"id": author.id,
234-
"type": "authors",
235-
"relationships": {
236-
"data": {"id": author_type.id, "type": "author-type"}
237-
},
238-
}
239-
}
240-
241-
response = client.patch(url, data=data)
242-
243-
assert response.status_code == 200

example/tests/test_views.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ def test_get_related_serializer_class_many(self):
423423
self.assertEqual(got, EntrySerializer)
424424

425425
def test_get_serializer_comes_from_included_serializers(self):
426-
kwargs = {"pk": self.author.id, "related_field": "type"}
426+
kwargs = {"pk": self.author.id, "related_field": "author_type"}
427427
view = self._get_view(kwargs)
428428
related_serializers = view.get_serializer_class().related_serializers
429429
delattr(view.get_serializer_class(), "related_serializers")
@@ -470,14 +470,14 @@ def test_retrieve_related_single_reverse_lookup(self):
470470
def test_retrieve_related_single(self):
471471
url = reverse(
472472
"author-related",
473-
kwargs={"pk": self.author.type.pk, "related_field": "type"},
473+
kwargs={"pk": self.author.author_type.pk, "related_field": "author_type"},
474474
)
475475
resp = self.client.get(url)
476476
expected = {
477477
"data": {
478478
"type": "authorTypes",
479-
"id": str(self.author.type.id),
480-
"attributes": {"name": str(self.author.type.name)},
479+
"id": str(self.author.author_type.id),
480+
"attributes": {"name": str(self.author.author_type.name)},
481481
}
482482
}
483483
self.assertEqual(resp.status_code, 200)

0 commit comments

Comments
 (0)