1
0
mirror of https://github.com/django/django.git synced 2025-10-24 14:16:09 +00:00

Fixed #33501 -- Made order_with_respect_to respect database routers.

This commit is contained in:
Damian Posener
2022-02-07 15:06:25 +00:00
committed by Mariusz Felisiak
parent 2d472ad05c
commit 09e499a39e
2 changed files with 14 additions and 3 deletions

View File

@@ -6,6 +6,8 @@ from operator import attrgetter
class BaseOrderWithRespectToTests:
databases = {"default", "other"}
# Hook to allow subclasses to run these tests with alternate models.
Answer = None
Post = None
@@ -108,3 +110,15 @@ class BaseOrderWithRespectToTests:
a1.delete()
new_answer = self.Answer.objects.create(text="Black", question=q1)
self.assertSequenceEqual(q1.answer_set.all(), [a2, a4, new_answer])
def test_database_routing(self):
class WriteToOtherRouter:
def db_for_write(self, model, **hints):
return "other"
with self.settings(DATABASE_ROUTERS=[WriteToOtherRouter()]):
with self.assertNumQueries(0, using="default"), self.assertNumQueries(
1,
using="other",
):
self.q1.set_answer_order([3, 1, 2, 4])