mirror of
https://github.com/django/django.git
synced 2025-10-23 21:59:11 +00:00
Refs #22728 - Added missing tests for defaults__exact case
This commit is contained in:
@@ -126,6 +126,28 @@ class GetOrCreateTests(TestCase):
|
||||
# The publisher should have three books.
|
||||
self.assertEqual(p.books.count(), 3)
|
||||
|
||||
def test_defaults_exact(self):
|
||||
"""
|
||||
If you have a field named defaults and want to use it as an exact
|
||||
lookup, you need to use 'defaults__exact'.
|
||||
"""
|
||||
obj, created = Person.objects.get_or_create(
|
||||
first_name='George', last_name='Harrison', defaults__exact='testing', defaults={
|
||||
'birthday': date(1943, 2, 25),
|
||||
'defaults': 'testing',
|
||||
}
|
||||
)
|
||||
self.assertTrue(created)
|
||||
self.assertEqual(obj.defaults, 'testing')
|
||||
obj2, created = Person.objects.get_or_create(
|
||||
first_name='George', last_name='Harrison', defaults__exact='testing', defaults={
|
||||
'birthday': date(1943, 2, 25),
|
||||
'defaults': 'testing',
|
||||
}
|
||||
)
|
||||
self.assertFalse(created)
|
||||
self.assertEqual(obj, obj2)
|
||||
|
||||
|
||||
class GetOrCreateTestsWithManualPKs(TestCase):
|
||||
|
||||
@@ -348,3 +370,25 @@ class UpdateOrCreateTests(TestCase):
|
||||
self.assertFalse(created)
|
||||
self.assertEqual(book.name, name)
|
||||
self.assertEqual(author.books.count(), 1)
|
||||
|
||||
def test_defaults_exact(self):
|
||||
"""
|
||||
If you have a field named defaults and want to use it as an exact
|
||||
lookup, you need to use 'defaults__exact'.
|
||||
"""
|
||||
obj, created = Person.objects.update_or_create(
|
||||
first_name='George', last_name='Harrison', defaults__exact='testing', defaults={
|
||||
'birthday': date(1943, 2, 25),
|
||||
'defaults': 'testing',
|
||||
}
|
||||
)
|
||||
self.assertTrue(created)
|
||||
self.assertEqual(obj.defaults, 'testing')
|
||||
obj, created = Person.objects.update_or_create(
|
||||
first_name='George', last_name='Harrison', defaults__exact='testing', defaults={
|
||||
'birthday': date(1943, 2, 25),
|
||||
'defaults': 'another testing',
|
||||
}
|
||||
)
|
||||
self.assertFalse(created)
|
||||
self.assertEqual(obj.defaults, 'another testing')
|
||||
|
||||
Reference in New Issue
Block a user