From b9ae662c97534ab01329dae966222b6ed0185034 Mon Sep 17 00:00:00 2001 From: Marti Raudsepp Date: Mon, 16 May 2016 21:49:03 +0300 Subject: [PATCH] Fixed #26620 -- Made Model.refresh_from_db() fail when passed unknown kwargs. --- django/db/models/base.py | 2 +- docs/ref/models/instances.txt | 2 +- tests/basic/tests.py | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/django/db/models/base.py b/django/db/models/base.py index 7b5e42eb42..52a96c3ffe 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -646,7 +646,7 @@ class Model(six.with_metaclass(ModelBase)): if f.attname not in self.__dict__ } - def refresh_from_db(self, using=None, fields=None, **kwargs): + def refresh_from_db(self, using=None, fields=None): """ Reloads field values from the database. diff --git a/docs/ref/models/instances.txt b/docs/ref/models/instances.txt index 1dce85794c..517c29e867 100644 --- a/docs/ref/models/instances.txt +++ b/docs/ref/models/instances.txt @@ -128,7 +128,7 @@ in the ``from_db()`` method. Refreshing objects from database ================================ -.. method:: Model.refresh_from_db(using=None, fields=None, **kwargs) +.. method:: Model.refresh_from_db(using=None, fields=None) If you need to reload a model's values from the database, you can use the ``refresh_from_db()`` method. When this method is called without arguments the diff --git a/tests/basic/tests.py b/tests/basic/tests.py index a378961444..6aacc64e67 100644 --- a/tests/basic/tests.py +++ b/tests/basic/tests.py @@ -690,6 +690,11 @@ class ModelRefreshTests(TestCase): a.refresh_from_db() self.assertEqual(a.pub_date, new_pub_date) + def test_unknown_kwarg(self): + s = SelfRef.objects.create() + with self.assertRaises(TypeError): + s.refresh_from_db(unknown_kwarg=10) + def test_refresh_fk(self): s1 = SelfRef.objects.create() s2 = SelfRef.objects.create()