diff --git a/tests/admin_changelist/tests.py b/tests/admin_changelist/tests.py index ba1f5d179365..f1d1abc0b0a5 100644 --- a/tests/admin_changelist/tests.py +++ b/tests/admin_changelist/tests.py @@ -1148,16 +1148,20 @@ def test_dynamic_list_display_links(self): Regression tests for #16257: dynamic list_display_links support. """ parent = Parent.objects.create(name="parent") + children = [] for i in range(1, 10): - Child.objects.create(id=i, name="child %s" % i, parent=parent, age=i) + children.append( + Child.objects.create(name="child %s" % i, parent=parent, age=i + 1) + ) m = DynamicListDisplayLinksChildAdmin(Child, custom_site) superuser = self._create_superuser("superuser") request = self._mocked_authenticated_request("/child/", superuser) response = m.changelist_view(request) - for i in range(1, 10): - link = reverse("admin:admin_changelist_child_change", args=(i,)) - self.assertContains(response, '%s' % (link, i)) + for child in children: + link = reverse("admin:admin_changelist_child_change", args=(child.pk,)) + # "age" is in list_display_links. + self.assertContains(response, '%s' % (link, child.age)) list_display = m.get_list_display(request) list_display_links = m.get_list_display_links(request, list_display) diff --git a/tests/admin_inlines/tests.py b/tests/admin_inlines/tests.py index a2814a8d46cd..e27dc919498a 100644 --- a/tests/admin_inlines/tests.py +++ b/tests/admin_inlines/tests.py @@ -1030,7 +1030,7 @@ def setUpTestData(cls): ) cls.user.user_permissions.add(permission) - author = Author.objects.create(pk=1, name="The Author") + author = Author.objects.create(name="The Author") cls.book = author.books.create(name="The inline Book") cls.author_change_url = reverse( "admin:admin_inlines_author_change", args=(author.id,) diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py index 3a7dde7f2dc9..eecd29536bdf 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -1893,7 +1893,7 @@ def test_custom_model_admin_templates(self): data={ "index": 0, "action": ["delete_selected"], - "_selected_action": ["1"], + "_selected_action": [str(article_pk)], }, ) self.assertTemplateUsed( @@ -4901,30 +4901,28 @@ def test_non_form_errors_is_errorlist(self): ) def test_list_editable_ordering(self): - collector = Collector.objects.create(id=1, name="Frederick Clegg") - - Category.objects.create(id=1, order=1, collector=collector) - Category.objects.create(id=2, order=2, collector=collector) - Category.objects.create(id=3, order=0, collector=collector) - Category.objects.create(id=4, order=0, collector=collector) - + collector = Collector.objects.create(name="Frederick Clegg") + category1 = Category.objects.create(order=1, collector=collector) + category2 = Category.objects.create(order=2, collector=collector) + category3 = Category.objects.create(order=0, collector=collector) + category4 = Category.objects.create(order=0, collector=collector) # NB: The order values must be changed so that the items are reordered. data = { "form-TOTAL_FORMS": "4", "form-INITIAL_FORMS": "4", "form-MAX_NUM_FORMS": "0", "form-0-order": "14", - "form-0-id": "1", - "form-0-collector": "1", + "form-0-id": str(category1.id), + "form-0-collector": str(collector.id), "form-1-order": "13", - "form-1-id": "2", - "form-1-collector": "1", + "form-1-id": str(category2.id), + "form-1-collector": str(collector.id), "form-2-order": "1", - "form-2-id": "3", - "form-2-collector": "1", + "form-2-id": str(category3.id), + "form-2-collector": str(collector.id), "form-3-order": "0", - "form-3-id": "4", - "form-3-collector": "1", + "form-3-id": str(category4.id), + "form-3-collector": str(collector.id), # The form processing understands this as a list_editable "Save" # and not an action "Run". "_save": "Save", @@ -4936,18 +4934,18 @@ def test_list_editable_ordering(self): self.assertEqual(response.status_code, 302) # The order values have been applied to the right objects - self.assertEqual(Category.objects.get(id=1).order, 14) - self.assertEqual(Category.objects.get(id=2).order, 13) - self.assertEqual(Category.objects.get(id=3).order, 1) - self.assertEqual(Category.objects.get(id=4).order, 0) + self.assertEqual(Category.objects.get(id=category1.id).order, 14) + self.assertEqual(Category.objects.get(id=category2.id).order, 13) + self.assertEqual(Category.objects.get(id=category3.id).order, 1) + self.assertEqual(Category.objects.get(id=category4.id).order, 0) def test_list_editable_pagination(self): """ Pagination works for list_editable items. """ - UnorderedObject.objects.create(id=1, name="Unordered object #1") - UnorderedObject.objects.create(id=2, name="Unordered object #2") - UnorderedObject.objects.create(id=3, name="Unordered object #3") + UnorderedObject.objects.create(name="Unordered object #1") + UnorderedObject.objects.create(name="Unordered object #2") + UnorderedObject.objects.create(name="Unordered object #3") response = self.client.get( reverse("admin:admin_views_unorderedobject_changelist") ) @@ -4969,14 +4967,14 @@ def test_list_editable_action_submit(self): "form-INITIAL_FORMS": "3", "form-MAX_NUM_FORMS": "0", "form-0-gender": "1", - "form-0-id": "1", + "form-0-id": str(self.per1.id), "form-1-gender": "2", - "form-1-id": "2", + "form-1-id": str(self.per2.id), "form-2-alive": "checked", "form-2-gender": "1", - "form-2-id": "3", + "form-2-id": str(self.per3.id), "index": "0", - "_selected_action": ["3"], + "_selected_action": [str(self.per3.id)], "action": ["", "delete_selected"], } self.client.post(reverse("admin:admin_views_person_changelist"), data) @@ -4999,7 +4997,7 @@ def test_list_editable_action_choices(self): "form-2-gender": "1", "form-2-id": str(self.per3.pk), "_save": "Save", - "_selected_action": ["1"], + "_selected_action": [str(self.per1.pk)], "action": ["", "delete_selected"], } self.client.post(reverse("admin:admin_views_person_changelist"), data) @@ -5830,7 +5828,7 @@ def setUpTestData(cls): cls.superuser = User.objects.create_superuser( username="super", password="secret", email="super@example.com" ) - cls.collector = Collector.objects.create(pk=1, name="John Fowles") + cls.collector = Collector.objects.create(name="John Fowles") def setUp(self): self.post_data = { @@ -5839,63 +5837,63 @@ def setUp(self): "widget_set-INITIAL_FORMS": "0", "widget_set-MAX_NUM_FORMS": "0", "widget_set-0-id": "", - "widget_set-0-owner": "1", + "widget_set-0-owner": str(self.collector.pk), "widget_set-0-name": "", "widget_set-1-id": "", - "widget_set-1-owner": "1", + "widget_set-1-owner": str(self.collector.pk), "widget_set-1-name": "", "widget_set-2-id": "", - "widget_set-2-owner": "1", + "widget_set-2-owner": str(self.collector.pk), "widget_set-2-name": "", "doohickey_set-TOTAL_FORMS": "3", "doohickey_set-INITIAL_FORMS": "0", "doohickey_set-MAX_NUM_FORMS": "0", - "doohickey_set-0-owner": "1", + "doohickey_set-0-owner": str(self.collector.pk), "doohickey_set-0-code": "", "doohickey_set-0-name": "", - "doohickey_set-1-owner": "1", + "doohickey_set-1-owner": str(self.collector.pk), "doohickey_set-1-code": "", "doohickey_set-1-name": "", - "doohickey_set-2-owner": "1", + "doohickey_set-2-owner": str(self.collector.pk), "doohickey_set-2-code": "", "doohickey_set-2-name": "", "grommet_set-TOTAL_FORMS": "3", "grommet_set-INITIAL_FORMS": "0", "grommet_set-MAX_NUM_FORMS": "0", "grommet_set-0-code": "", - "grommet_set-0-owner": "1", + "grommet_set-0-owner": str(self.collector.pk), "grommet_set-0-name": "", "grommet_set-1-code": "", - "grommet_set-1-owner": "1", + "grommet_set-1-owner": str(self.collector.pk), "grommet_set-1-name": "", "grommet_set-2-code": "", - "grommet_set-2-owner": "1", + "grommet_set-2-owner": str(self.collector.pk), "grommet_set-2-name": "", "whatsit_set-TOTAL_FORMS": "3", "whatsit_set-INITIAL_FORMS": "0", "whatsit_set-MAX_NUM_FORMS": "0", - "whatsit_set-0-owner": "1", + "whatsit_set-0-owner": str(self.collector.pk), "whatsit_set-0-index": "", "whatsit_set-0-name": "", - "whatsit_set-1-owner": "1", + "whatsit_set-1-owner": str(self.collector.pk), "whatsit_set-1-index": "", "whatsit_set-1-name": "", - "whatsit_set-2-owner": "1", + "whatsit_set-2-owner": str(self.collector.pk), "whatsit_set-2-index": "", "whatsit_set-2-name": "", "fancydoodad_set-TOTAL_FORMS": "3", "fancydoodad_set-INITIAL_FORMS": "0", "fancydoodad_set-MAX_NUM_FORMS": "0", "fancydoodad_set-0-doodad_ptr": "", - "fancydoodad_set-0-owner": "1", + "fancydoodad_set-0-owner": str(self.collector.pk), "fancydoodad_set-0-name": "", "fancydoodad_set-0-expensive": "on", "fancydoodad_set-1-doodad_ptr": "", - "fancydoodad_set-1-owner": "1", + "fancydoodad_set-1-owner": str(self.collector.pk), "fancydoodad_set-1-name": "", "fancydoodad_set-1-expensive": "on", "fancydoodad_set-2-doodad_ptr": "", - "fancydoodad_set-2-owner": "1", + "fancydoodad_set-2-owner": str(self.collector.pk), "fancydoodad_set-2-name": "", "fancydoodad_set-2-expensive": "on", "category_set-TOTAL_FORMS": "3", @@ -5903,13 +5901,13 @@ def setUp(self): "category_set-MAX_NUM_FORMS": "0", "category_set-0-order": "", "category_set-0-id": "", - "category_set-0-collector": "1", + "category_set-0-collector": str(self.collector.pk), "category_set-1-order": "", "category_set-1-id": "", - "category_set-1-collector": "1", + "category_set-1-collector": str(self.collector.pk), "category_set-2-order": "", "category_set-2-id": "", - "category_set-2-collector": "1", + "category_set-2-collector": str(self.collector.pk), } self.client.force_login(self.superuser) @@ -6105,11 +6103,10 @@ def test_ordered_inline(self): An inline with an editable ordering fields is updated correctly. """ # Create some objects with an initial ordering - Category.objects.create(id=1, order=1, collector=self.collector) - Category.objects.create(id=2, order=2, collector=self.collector) - Category.objects.create(id=3, order=0, collector=self.collector) - Category.objects.create(id=4, order=0, collector=self.collector) - + category1 = Category.objects.create(order=1, collector=self.collector) + category2 = Category.objects.create(order=2, collector=self.collector) + category3 = Category.objects.create(order=0, collector=self.collector) + category4 = Category.objects.create(order=0, collector=self.collector) # NB: The order values must be changed so that the items are reordered. self.post_data.update( { @@ -6118,26 +6115,26 @@ def test_ordered_inline(self): "category_set-INITIAL_FORMS": "4", "category_set-MAX_NUM_FORMS": "0", "category_set-0-order": "14", - "category_set-0-id": "1", - "category_set-0-collector": "1", + "category_set-0-id": str(category1.id), + "category_set-0-collector": str(self.collector.id), "category_set-1-order": "13", - "category_set-1-id": "2", - "category_set-1-collector": "1", + "category_set-1-id": str(category2.id), + "category_set-1-collector": str(self.collector.pk), "category_set-2-order": "1", - "category_set-2-id": "3", - "category_set-2-collector": "1", + "category_set-2-id": str(category3.id), + "category_set-2-collector": str(self.collector.pk), "category_set-3-order": "0", - "category_set-3-id": "4", - "category_set-3-collector": "1", + "category_set-3-id": str(category4.id), + "category_set-3-collector": str(self.collector.pk), "category_set-4-order": "", "category_set-4-id": "", - "category_set-4-collector": "1", + "category_set-4-collector": str(self.collector.pk), "category_set-5-order": "", "category_set-5-id": "", - "category_set-5-collector": "1", + "category_set-5-collector": str(self.collector.pk), "category_set-6-order": "", "category_set-6-id": "", - "category_set-6-collector": "1", + "category_set-6-collector": str(self.collector.pk), } ) collector_url = reverse( @@ -6149,10 +6146,10 @@ def test_ordered_inline(self): # The order values have been applied to the right objects self.assertEqual(self.collector.category_set.count(), 4) - self.assertEqual(Category.objects.get(id=1).order, 14) - self.assertEqual(Category.objects.get(id=2).order, 13) - self.assertEqual(Category.objects.get(id=3).order, 1) - self.assertEqual(Category.objects.get(id=4).order, 0) + self.assertEqual(Category.objects.get(id=category1.id).order, 14) + self.assertEqual(Category.objects.get(id=category2.id).order, 13) + self.assertEqual(Category.objects.get(id=category3.id).order, 1) + self.assertEqual(Category.objects.get(id=category4.id).order, 0) @override_settings(ROOT_URLCONF="admin_views.urls") diff --git a/tests/delete_regress/tests.py b/tests/delete_regress/tests.py index dc1039f7b98b..40f556bb85c0 100644 --- a/tests/delete_regress/tests.py +++ b/tests/delete_regress/tests.py @@ -117,7 +117,7 @@ def test_fk_to_m2m_through(self): self.assertEqual(PlayedWithNote.objects.count(), 0) def test_15776(self): - policy = Policy.objects.create(pk=1, policy_number="1234") + policy = Policy.objects.create(policy_number="1234") version = Version.objects.create(policy=policy) location = Location.objects.create(version=version) Item.objects.create(version=version, location=location) diff --git a/tests/force_insert_update/tests.py b/tests/force_insert_update/tests.py index 619b8b413d78..ff28b94ea3b5 100644 --- a/tests/force_insert_update/tests.py +++ b/tests/force_insert_update/tests.py @@ -125,7 +125,7 @@ def test_force_insert_false(self): self.assertEqual(obj.value, 3) def test_force_insert_false_with_existing_parent(self): - parent = Counter.objects.create(pk=1, value=1) + parent = Counter.objects.create(value=1) with self.assertNumQueries(2): SubCounter.objects.create(pk=parent.pk, value=2) @@ -152,15 +152,15 @@ def test_force_insert_with_grandparent(self): def test_force_insert_with_existing_grandparent(self): # Force insert only the last child. - grandparent = Counter.objects.create(pk=1, value=1) + grandparent = Counter.objects.create(value=1) with self.assertNumQueries(4): SubSubCounter(pk=grandparent.pk, value=1).save(force_insert=True) # Force insert a parent, and don't force insert a grandparent. - grandparent = Counter.objects.create(pk=2, value=1) + grandparent = Counter.objects.create(value=1) with self.assertNumQueries(3): SubSubCounter(pk=grandparent.pk, value=1).save(force_insert=(SubCounter,)) # Force insert parents on all levels, grandparent conflicts. - grandparent = Counter.objects.create(pk=3, value=1) + grandparent = Counter.objects.create(value=1) with self.assertRaises(IntegrityError), transaction.atomic(): SubSubCounter(pk=grandparent.pk, value=1).save(force_insert=(Counter,)) diff --git a/tests/forms_tests/tests/tests.py b/tests/forms_tests/tests/tests.py index 253e34976aa5..b486570fc325 100644 --- a/tests/forms_tests/tests/tests.py +++ b/tests/forms_tests/tests/tests.py @@ -101,45 +101,46 @@ def test_callable_initial_value(self): The initial value for a callable default returning a queryset is the pk. """ - ChoiceOptionModel.objects.create(id=1, name="default") - ChoiceOptionModel.objects.create(id=2, name="option 2") - ChoiceOptionModel.objects.create(id=3, name="option 3") + obj1 = ChoiceOptionModel.objects.create(id=1, name="default") + obj2 = ChoiceOptionModel.objects.create(id=2, name="option 2") + obj3 = ChoiceOptionModel.objects.create(id=3, name="option 3") self.assertHTMLEqual( ChoiceFieldForm().as_p(), - """ + f"""
- +
-
-
-
""", @@ -147,9 +148,9 @@ def test_callable_initial_value(self): def test_initial_instance_value(self): "Initial instances for model fields may also be instances (refs #7287)" - ChoiceOptionModel.objects.create(id=1, name="default") - obj2 = ChoiceOptionModel.objects.create(id=2, name="option 2") - obj3 = ChoiceOptionModel.objects.create(id=3, name="option 3") + obj1 = ChoiceOptionModel.objects.create(name="default") + obj2 = ChoiceOptionModel.objects.create(name="option 2") + obj3 = ChoiceOptionModel.objects.create(name="option 3") self.assertHTMLEqual( ChoiceFieldForm( initial={ @@ -161,44 +162,45 @@ def test_initial_instance_value(self): ), } ).as_p(), - """ + f"""- +
-
- -
- -
""", @@ -374,9 +376,9 @@ class ManyToManyExclusionTestCase(TestCase): def test_m2m_field_exclusion(self): # Issue 12337. save_instance should honor the passed-in exclude # keyword. - opt1 = ChoiceOptionModel.objects.create(id=1, name="default") - opt2 = ChoiceOptionModel.objects.create(id=2, name="option 2") - opt3 = ChoiceOptionModel.objects.create(id=3, name="option 3") + opt1 = ChoiceOptionModel.objects.create(name="default") + opt2 = ChoiceOptionModel.objects.create(name="option 2") + opt3 = ChoiceOptionModel.objects.create(name="option 3") initial = { "choice": opt1, "choice_int": opt1, diff --git a/tests/model_formsets/tests.py b/tests/model_formsets/tests.py index f5049e0cf7f1..590ebd530a44 100644 --- a/tests/model_formsets/tests.py +++ b/tests/model_formsets/tests.py @@ -827,7 +827,7 @@ def test_inline_formsets_with_custom_pk(self): AuthorBooksFormSet2 = inlineformset_factory( Author, BookWithCustomPK, can_delete=False, extra=1, fields="__all__" ) - author = Author.objects.create(pk=1, name="Charles Baudelaire") + author = Author.objects.create(name="Charles Baudelaire") formset = AuthorBooksFormSet2(instance=author) self.assertEqual(len(formset.forms), 1) @@ -840,7 +840,7 @@ def test_inline_formsets_with_custom_pk(self): '' '', + f'value="{author.pk}" id="id_bookwithcustompk_set-0-author">', ) data = { @@ -860,7 +860,7 @@ def test_inline_formsets_with_custom_pk(self): saved = formset.save() self.assertEqual(len(saved), 1) (book1,) = saved - self.assertEqual(book1.pk, 77777) + self.assertEqual(book1.pk, Decimal("77777")) book1 = author.bookwithcustompk_set.get() self.assertEqual(book1.title, "Les Fleurs du Mal") @@ -872,7 +872,7 @@ def test_inline_formsets_with_multi_table_inheritance(self): AuthorBooksFormSet3 = inlineformset_factory( Author, AlternateBook, can_delete=False, extra=1, fields="__all__" ) - author = Author.objects.create(pk=1, name="Charles Baudelaire") + author = Author.objects.create(name="Charles Baudelaire") formset = AuthorBooksFormSet3(instance=author) self.assertEqual(len(formset.forms), 1) @@ -884,8 +884,8 @@ def test_inline_formsets_with_multi_table_inheritance(self): '' '' - '' + '' '
', ) @@ -922,7 +922,7 @@ def test_inline_formsets_with_nullable_unique_together(self): extra=2, fields="__all__", ) - author = Author.objects.create(pk=1, name="Charles Baudelaire") + author = Author.objects.create(name="Charles Baudelaire") data = { # The number of forms rendered. @@ -931,9 +931,9 @@ def test_inline_formsets_with_nullable_unique_together(self): "bookwithoptionalalteditor_set-INITIAL_FORMS": "0", # The max number of forms. "bookwithoptionalalteditor_set-MAX_NUM_FORMS": "", - "bookwithoptionalalteditor_set-0-author": "1", + "bookwithoptionalalteditor_set-0-author": str(author.pk), "bookwithoptionalalteditor_set-0-title": "Les Fleurs du Mal", - "bookwithoptionalalteditor_set-1-author": "1", + "bookwithoptionalalteditor_set-1-author": str(author.pk), "bookwithoptionalalteditor_set-1-title": "Les Fleurs du Mal", } formset = AuthorBooksFormSet4(data, instance=author) @@ -942,21 +942,19 @@ def test_inline_formsets_with_nullable_unique_together(self): saved = formset.save() self.assertEqual(len(saved), 2) book1, book2 = saved - self.assertEqual(book1.author_id, 1) + self.assertEqual(book1.author_id, author.pk) self.assertEqual(book1.title, "Les Fleurs du Mal") - self.assertEqual(book2.author_id, 1) + self.assertEqual(book2.author_id, author.pk) self.assertEqual(book2.title, "Les Fleurs du Mal") def test_inline_formsets_with_custom_save_method(self): AuthorBooksFormSet = inlineformset_factory( Author, Book, can_delete=False, extra=2, fields="__all__" ) - author = Author.objects.create(pk=1, name="Charles Baudelaire") - book1 = Book.objects.create( - pk=1, author=author, title="Les Paradis Artificiels" - ) - book2 = Book.objects.create(pk=2, author=author, title="Les Fleurs du Mal") - book3 = Book.objects.create(pk=3, author=author, title="Flowers of Evil") + author = Author.objects.create(name="Charles Baudelaire") + book1 = Book.objects.create(author=author, title="Les Paradis Artificiels") + book2 = Book.objects.create(author=author, title="Les Fleurs du Mal") + book3 = Book.objects.create(author=author, title="Flowers of Evil") class PoemForm(forms.ModelForm): def save(self, commit=True): @@ -998,9 +996,10 @@ def save(self, commit=True): '' '' - '' - '' + '' + '' "
", ) self.assertHTMLEqual( @@ -1008,9 +1007,10 @@ def save(self, commit=True): '' '' - '' - '' + '' + '' "
", ) self.assertHTMLEqual( @@ -1018,18 +1018,18 @@ def save(self, commit=True): '' '' - '' - '
', + '' + '', ) self.assertHTMLEqual( formset.forms[3].as_p(), '' '' - '' + '' '
', ) self.assertHTMLEqual( @@ -1037,8 +1037,8 @@ def save(self, commit=True): '' '' - '' + '' '
', ) @@ -1065,27 +1065,27 @@ def save(self, commit=True): '' '' - '' - '
', + '' + '', ) self.assertHTMLEqual( formset.forms[1].as_p(), '' '' - '' - '
', + '' + f'', ) self.assertHTMLEqual( formset.forms[2].as_p(), '' '' - '' + '' '
', ) @@ -1162,7 +1162,7 @@ def test_custom_pk(self): # Custom primary keys with ForeignKey, OneToOneField and AutoField. - place = Place.objects.create(pk=1, name="Giordanos", city="Chicago") + place = Place.objects.create(name="Giordanos", city="Chicago") FormSet = inlineformset_factory( Place, Owner, extra=2, can_delete=False, fields="__all__" @@ -1174,7 +1174,7 @@ def test_custom_pk(self): '' '' - '' '
', @@ -1184,7 +1184,7 @@ def test_custom_pk(self): '' '' - '' '
', @@ -1214,7 +1214,7 @@ def test_custom_pk(self): '' '' - '' '
' % owner1.auto_id, @@ -1224,7 +1224,7 @@ def test_custom_pk(self): '' '' - '' '
', @@ -1234,7 +1234,7 @@ def test_custom_pk(self): '' '' - '' '
', @@ -1337,7 +1337,7 @@ def test_custom_pk(self): def test_unique_true_enforces_max_num_one(self): # ForeignKey with unique=True should enforce max_num=1 - place = Place.objects.create(pk=1, name="Giordanos", city="Chicago") + place = Place.objects.create(name="Giordanos", city="Chicago") FormSet = inlineformset_factory( Place, Location, can_delete=False, fields="__all__" @@ -1354,7 +1354,7 @@ def test_unique_true_enforces_max_num_one(self): '' '' - '' '
', @@ -1761,7 +1761,7 @@ def test_model_formset_with_initial_queryset(self): # has_changed should work with queryset and list of pk's # see #18898 FormSet = modelformset_factory(AuthorMeeting, fields="__all__") - Author.objects.create(pk=1, name="Charles Baudelaire") + Author.objects.create(name="Charles Baudelaire") data = { "form-TOTAL_FORMS": 1, "form-INITIAL_FORMS": 0, @@ -1863,10 +1863,10 @@ def test_prevent_duplicates_from_with_the_same_formset(self): self.assertTrue(formset.is_valid()) FormSet = inlineformset_factory(Author, Book, extra=0, fields="__all__") - author = Author.objects.create(pk=1, name="Charles Baudelaire") - Book.objects.create(pk=1, author=author, title="Les Paradis Artificiels") - Book.objects.create(pk=2, author=author, title="Les Fleurs du Mal") - Book.objects.create(pk=3, author=author, title="Flowers of Evil") + author = Author.objects.create(name="Charles Baudelaire") + Book.objects.create(author=author, title="Les Paradis Artificiels") + Book.objects.create(author=author, title="Les Fleurs du Mal") + Book.objects.create(author=author, title="Flowers of Evil") book_ids = author.book_set.order_by("id").values_list("id", flat=True) data = { @@ -2232,7 +2232,7 @@ def test_inlineformset_factory_help_text_overrides(self): self.assertEqual(form["title"].help_text, "Choose carefully.") def test_modelformset_factory_error_messages_overrides(self): - author = Author.objects.create(pk=1, name="Charles Baudelaire") + author = Author.objects.create(name="Charles Baudelaire") BookFormSet = modelformset_factory( Book, fields="__all__", @@ -2243,7 +2243,7 @@ def test_modelformset_factory_error_messages_overrides(self): self.assertEqual(form.errors, {"title": ["Title too long!!"]}) def test_inlineformset_factory_error_messages_overrides(self): - author = Author.objects.create(pk=1, name="Charles Baudelaire") + author = Author.objects.create(name="Charles Baudelaire") BookFormSet = inlineformset_factory( Author, Book, @@ -2255,7 +2255,7 @@ def test_inlineformset_factory_error_messages_overrides(self): self.assertEqual(form.errors, {"title": ["Title too long!!"]}) def test_modelformset_factory_field_class_overrides(self): - author = Author.objects.create(pk=1, name="Charles Baudelaire") + author = Author.objects.create(name="Charles Baudelaire") BookFormSet = modelformset_factory( Book, fields="__all__", @@ -2268,7 +2268,7 @@ def test_modelformset_factory_field_class_overrides(self): self.assertIsInstance(form.fields["title"], forms.SlugField) def test_inlineformset_factory_field_class_overrides(self): - author = Author.objects.create(pk=1, name="Charles Baudelaire") + author = Author.objects.create(name="Charles Baudelaire") BookFormSet = inlineformset_factory( Author, Book, diff --git a/tests/multiple_database/tests.py b/tests/multiple_database/tests.py index 85091441aa15..42b2ba2486a1 100644 --- a/tests/multiple_database/tests.py +++ b/tests/multiple_database/tests.py @@ -899,8 +899,7 @@ def test_o2o_cross_database_protection(self): new_bob_profile = UserProfile(flavor="spring surprise") - # assigning a profile requires an explicit pk as the object isn't saved - charlie = User(pk=51, username="charlie", email="charlie@example.com") + charlie = User(username="charlie", email="charlie@example.com") charlie.set_unusable_password() # initially, no db assigned @@ -1882,10 +1881,10 @@ def test_m2m_managers(self): managers """ pro = Book.objects.using("other").create( - pk=1, title="Pro Django", published=datetime.date(2008, 12, 16) + title="Pro Django", published=datetime.date(2008, 12, 16) ) - marty = Person.objects.using("other").create(pk=1, name="Marty Alchin") + marty = Person.objects.using("other").create(name="Marty Alchin") self.assertEqual(pro.authors.db, "other") self.assertEqual(pro.authors.db_manager("default").db, "default") @@ -1900,9 +1899,8 @@ def test_foreign_key_managers(self): FK reverse relations are represented by managers, and can be controlled like managers. """ - marty = Person.objects.using("other").create(pk=1, name="Marty Alchin") + marty = Person.objects.using("other").create(name="Marty Alchin") Book.objects.using("other").create( - pk=1, title="Pro Django", published=datetime.date(2008, 12, 16), editor=marty, diff --git a/tests/order_with_respect_to/base_tests.py b/tests/order_with_respect_to/base_tests.py index ec3793411da9..8252398fbbd6 100644 --- a/tests/order_with_respect_to/base_tests.py +++ b/tests/order_with_respect_to/base_tests.py @@ -19,10 +19,10 @@ def setUpTestData(cls): cls.q1 = cls.Question.objects.create( text="Which Beatle starts with the letter 'R'?" ) - cls.Answer.objects.create(text="John", question=cls.q1) - cls.Answer.objects.create(text="Paul", question=cls.q1) - cls.Answer.objects.create(text="George", question=cls.q1) - cls.Answer.objects.create(text="Ringo", question=cls.q1) + cls.a1 = cls.Answer.objects.create(text="John", question=cls.q1) + cls.a2 = cls.Answer.objects.create(text="Paul", question=cls.q1) + cls.a3 = cls.Answer.objects.create(text="George", question=cls.q1) + cls.a4 = cls.Answer.objects.create(text="Ringo", question=cls.q1) def test_default_to_insertion_order(self): # Answers will always be ordered in the order they were inserted. @@ -125,7 +125,9 @@ def db_for_write(self, model, **hints): using="other", ), ): - self.q1.set_answer_order([3, 1, 2, 4]) + self.q1.set_answer_order( + [self.a3.pk, self.a1.pk, self.a2.pk, self.a4.pk] + ) def test_bulk_create_with_empty_parent(self): """ diff --git a/tests/queries/tests.py b/tests/queries/tests.py index 169ca4924af4..71d0b30196fe 100644 --- a/tests/queries/tests.py +++ b/tests/queries/tests.py @@ -129,9 +129,9 @@ def setUpTestData(cls): cls.t4 = Tag.objects.create(name="t4", parent=cls.t3) cls.t5 = Tag.objects.create(name="t5", parent=cls.t3) - cls.n1 = Note.objects.create(note="n1", misc="foo", id=1) - cls.n2 = Note.objects.create(note="n2", misc="bar", id=2) - cls.n3 = Note.objects.create(note="n3", misc="foo", id=3, negate=False) + cls.n1 = Note.objects.create(note="n1", misc="foo") + cls.n2 = Note.objects.create(note="n2", misc="bar") + cls.n3 = Note.objects.create(note="n3", misc="foo", negate=False) cls.ann1 = Annotation.objects.create(name="a1", tag=cls.t1) cls.ann1.notes.add(cls.n1) @@ -707,11 +707,13 @@ def test_ticket4358(self): self.assertIn("note_id", ExtraInfo.objects.values()[0]) # You can also pass it in explicitly. self.assertSequenceEqual( - ExtraInfo.objects.values("note_id"), [{"note_id": 1}, {"note_id": 2}] + ExtraInfo.objects.values("note_id"), + [{"note_id": self.n1.pk}, {"note_id": self.n2.pk}], ) # ...or use the field name. self.assertSequenceEqual( - ExtraInfo.objects.values("note"), [{"note": 1}, {"note": 2}] + ExtraInfo.objects.values("note"), + [{"note": self.n1.pk}, {"note": self.n2.pk}], ) def test_ticket6154(self): @@ -938,7 +940,7 @@ def test_ticket9985(self): # qs.values_list(...).values(...) combinations should work. self.assertSequenceEqual( Note.objects.values_list("note", flat=True).values("id").order_by("id"), - [{"id": 1}, {"id": 2}, {"id": 3}], + [{"id": self.n1.pk}, {"id": self.n2.pk}, {"id": self.n3.pk}], ) self.assertSequenceEqual( Annotation.objects.filter( @@ -1846,8 +1848,8 @@ class Queries5Tests(TestCase): def setUpTestData(cls): # Ordering by 'rank' gives us rank2, rank1, rank3. Ordering by the # Meta.ordering will be rank3, rank2, rank1. - cls.n1 = Note.objects.create(note="n1", misc="foo", id=1) - cls.n2 = Note.objects.create(note="n2", misc="bar", id=2) + cls.n1 = Note.objects.create(note="n1", misc="foo") + cls.n2 = Note.objects.create(note="n2", misc="bar") e1 = ExtraInfo.objects.create(info="e1", note=cls.n1) e2 = ExtraInfo.objects.create(info="e2", note=cls.n2) a1 = Author.objects.create(name="a1", num=1001, extra=e1) @@ -2073,7 +2075,7 @@ def test_join_already_in_query(self): class DisjunctiveFilterTests(TestCase): @classmethod def setUpTestData(cls): - cls.n1 = Note.objects.create(note="n1", misc="foo", id=1) + cls.n1 = Note.objects.create(note="n1", misc="foo") cls.e1 = ExtraInfo.objects.create(info="e1", note=cls.n1) def test_ticket7872(self): @@ -2115,7 +2117,7 @@ def setUpTestData(cls): cls.t3 = Tag.objects.create(name="t3", parent=cls.t1) cls.t4 = Tag.objects.create(name="t4", parent=cls.t3) cls.t5 = Tag.objects.create(name="t5", parent=cls.t3) - n1 = Note.objects.create(note="n1", misc="foo", id=1) + n1 = Note.objects.create(note="n1", misc="foo") cls.ann1 = Annotation.objects.create(name="a1", tag=cls.t1) cls.ann1.notes.add(n1) cls.ann2 = Annotation.objects.create(name="a2", tag=cls.t4) @@ -2242,7 +2244,7 @@ def test_xor_subquery(self): class RawQueriesTests(TestCase): @classmethod def setUpTestData(cls): - Note.objects.create(note="n1", misc="foo", id=1) + Note.objects.create(note="n1", misc="foo") def test_ticket14729(self): # Test representation of raw query with one or few parameters passed as @@ -2273,7 +2275,7 @@ def test_ticket10432(self): class ComparisonTests(TestCase): @classmethod def setUpTestData(cls): - cls.n1 = Note.objects.create(note="n1", misc="foo", id=1) + cls.n1 = Note.objects.create(note="n1", misc="foo") e1 = ExtraInfo.objects.create(info="e1", note=cls.n1) cls.a2 = Author.objects.create(name="a2", num=2002, extra=e1) @@ -2916,7 +2918,7 @@ def test_slicing_can_slice_again_after_slicing(self): def test_slicing_cannot_filter_queryset_once_sliced(self): msg = "Cannot filter a query once a slice has been taken." with self.assertRaisesMessage(TypeError, msg): - Article.objects.all()[0:5].filter(id=1) + Article.objects.all()[0:5].filter(name="foo") def test_slicing_cannot_reorder_queryset_once_sliced(self): msg = "Cannot reorder a query once a slice has been taken." @@ -3408,7 +3410,7 @@ class ExcludeTest17600(TestCase): @classmethod def setUpTestData(cls): - # Create a few Orders. + # Create a few Orders. Explicit pks needed for IntegerField pk. cls.o1 = Order.objects.create(pk=1) cls.o2 = Order.objects.create(pk=2) cls.o3 = Order.objects.create(pk=3) diff --git a/tests/sites_framework/tests.py b/tests/sites_framework/tests.py index 4a297a924349..33c3b354784b 100644 --- a/tests/sites_framework/tests.py +++ b/tests/sites_framework/tests.py @@ -1,4 +1,3 @@ -from django.conf import settings from django.contrib.sites.managers import CurrentSiteManager from django.contrib.sites.models import Site from django.core import checks @@ -12,31 +11,27 @@ class SitesFrameworkTestCase(TestCase): @classmethod def setUpTestData(cls): - Site.objects.get_or_create( - id=settings.SITE_ID, domain="example.com", name="example.com" - ) - Site.objects.create( - id=settings.SITE_ID + 1, domain="example2.com", name="example2.com" - ) + cls.site1 = Site.objects.get(domain="example.com", name="example.com") + cls.site2 = Site.objects.create(domain="example2.com", name="example2.com") def test_site_fk(self): article = ExclusiveArticle.objects.create( - title="Breaking News!", site_id=settings.SITE_ID + title="Breaking News!", site=self.site1 ) self.assertEqual(ExclusiveArticle.on_site.get(), article) def test_sites_m2m(self): article = SyndicatedArticle.objects.create(title="Fresh News!") - article.sites.add(Site.objects.get(id=settings.SITE_ID)) - article.sites.add(Site.objects.get(id=settings.SITE_ID + 1)) + article.sites.add(self.site1) + article.sites.add(self.site2) article2 = SyndicatedArticle.objects.create(title="More News!") - article2.sites.add(Site.objects.get(id=settings.SITE_ID + 1)) + article2.sites.add(self.site2) self.assertEqual(SyndicatedArticle.on_site.get(), article) def test_custom_named_field(self): article = CustomArticle.objects.create( title="Tantalizing News!", - places_this_article_should_appear_id=settings.SITE_ID, + places_this_article_should_appear_id=self.site1.id, ) self.assertEqual(CustomArticle.on_site.get(), article)