Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
D
django
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
django
Commits
f5a989e6
Kaydet (Commit)
f5a989e6
authored
Ock 02, 2018
tarafından
Simon Charette
Kaydeden (comit)
Tim Graham
Ock 02, 2018
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Fixed #28974 -- Made refresh_from_db() hint routers about its instance.
üst
0f5a741a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
11 additions
and
2 deletions
+11
-2
base.py
django/db/models/base.py
+2
-2
tests.py
tests/multiple_database/tests.py
+9
-0
No files found.
django/db/models/base.py
Dosyayı görüntüle @
f5a989e6
...
@@ -590,8 +590,8 @@ class Model(metaclass=ModelBase):
...
@@ -590,8 +590,8 @@ class Model(metaclass=ModelBase):
'Found "
%
s" in fields argument. Relations and transforms '
'Found "
%
s" in fields argument. Relations and transforms '
'are not allowed in fields.'
%
LOOKUP_SEP
)
'are not allowed in fields.'
%
LOOKUP_SEP
)
db
=
using
if
using
is
not
None
else
self
.
_state
.
db
hints
=
{
'instance'
:
self
}
db_instance_qs
=
self
.
__class__
.
_base_manager
.
using
(
db
)
.
filter
(
pk
=
self
.
pk
)
db_instance_qs
=
self
.
__class__
.
_base_manager
.
db_manager
(
using
,
hints
=
hints
)
.
filter
(
pk
=
self
.
pk
)
# Use provided fields, if not set then reload all non-deferred fields.
# Use provided fields, if not set then reload all non-deferred fields.
deferred_fields
=
self
.
get_deferred_fields
()
deferred_fields
=
self
.
get_deferred_fields
()
...
...
tests/multiple_database/tests.py
Dosyayı görüntüle @
f5a989e6
...
@@ -2,6 +2,7 @@ import datetime
...
@@ -2,6 +2,7 @@ import datetime
import
pickle
import
pickle
from
io
import
StringIO
from
io
import
StringIO
from
operator
import
attrgetter
from
operator
import
attrgetter
from
unittest.mock
import
Mock
from
django.contrib.auth.models
import
User
from
django.contrib.auth.models
import
User
from
django.contrib.contenttypes.models
import
ContentType
from
django.contrib.contenttypes.models
import
ContentType
...
@@ -103,6 +104,14 @@ class QueryTestCase(TestCase):
...
@@ -103,6 +104,14 @@ class QueryTestCase(TestCase):
self
.
assertEqual
(
dive
.
title
,
"Dive into Python (on default)"
)
self
.
assertEqual
(
dive
.
title
,
"Dive into Python (on default)"
)
self
.
assertEqual
(
dive
.
_state
.
db
,
"default"
)
self
.
assertEqual
(
dive
.
_state
.
db
,
"default"
)
def
test_refresh_router_instance_hint
(
self
):
router
=
Mock
()
router
.
db_for_read
.
return_value
=
None
book
=
Book
.
objects
.
create
(
title
=
'Dive Into Python'
,
published
=
datetime
.
date
(
1957
,
10
,
12
))
with
self
.
settings
(
DATABASE_ROUTERS
=
[
router
]):
book
.
refresh_from_db
()
router
.
db_for_read
.
assert_called_once_with
(
Book
,
instance
=
book
)
def
test_basic_queries
(
self
):
def
test_basic_queries
(
self
):
"Queries are constrained to a single database"
"Queries are constrained to a single database"
dive
=
Book
.
objects
.
using
(
'other'
)
.
create
(
title
=
"Dive into Python"
,
published
=
datetime
.
date
(
2009
,
5
,
4
))
dive
=
Book
.
objects
.
using
(
'other'
)
.
create
(
title
=
"Dive into Python"
,
published
=
datetime
.
date
(
2009
,
5
,
4
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment