Skip to content

Commit 2f259b4

Browse files
author
Mark Unsworth
committed
Merge branch 'safe-writes'
2 parents 075608d + ad1f329 commit 2f259b4

File tree

7 files changed

+27
-9
lines changed

7 files changed

+27
-9
lines changed

django_mongodb_engine/base.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,13 @@ def sql_flush(self, style, tables, sequence_list, allow_cascade=False):
6565
if table.startswith('system.'):
6666
# Do not try to drop system collections.
6767
continue
68-
self.connection.database[table].remove()
68+
69+
collection = self.connection.database[table]
70+
options = collection.options()
71+
72+
if not options.get('capped', False):
73+
collection.remove({})
74+
6975
return []
7076

7177
def validate_autopk_value(self, value):

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
pymongo
1+
pymongo<3.0
22
https://github.com/django-nonrel/djangotoolbox/tarball/master
33
https://github.com/django-nonrel/django/tarball/nonrel-1.5
44
https://github.com/django-nonrel/django-dbindexer/tarball/master

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
license='2-clause BSD',
1818
description=DESCRIPTION,
1919
long_description=LONG_DESCRIPTION,
20-
install_requires=['pymongo', 'djangotoolbox>=1.6.0'],
20+
install_requires=['pymongo<3.0', 'djangotoolbox>=1.6.0'],
2121
packages=find_packages(exclude=['tests', 'tests.*']),
2222
zip_safe=False,
2323
classifiers=[

tests/contrib/tests.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,8 @@ def test_map_reduce_with_custom_primary_key(self, inline=False):
121121
class RawQueryTests(TestCase):
122122

123123
def setUp(self):
124+
MapReduceModel.objects.all().delete()
125+
124126
for i in xrange(10):
125127
MapReduceModel.objects.create(n=i, m=i * 2)
126128

tests/lookup/tests.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ class LookupTests(TestCase):
1919

2020
def setUp(self):
2121
# Create a few Authors.
22+
Author.objects.all().delete()
23+
Article.objects.all().delete()
24+
Tag.objects.all().delete()
25+
2226
self.au1 = Author(name='Author 1')
2327
self.au1.save()
2428
self.au2 = Author(name='Author 2')

tests/mongodb/tests.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -267,12 +267,6 @@ def test_setup(flags, **method_kwargs):
267267
update={'multi': True},
268268
remove={'fsync': True})
269269

270-
def test_unique(self):
271-
with self.custom_database_wrapper({'OPTIONS': {}}):
272-
Post.objects.create(title='a', content='x')
273-
Post.objects.create(title='a', content='y')
274-
self.assertEqual(Post.objects.count(), 1)
275-
self.assertEqual(Post.objects.get().content, 'x')
276270

277271
def test_unique_safe(self):
278272
Post.objects.create(title='a')

tests/query/tests.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@
1616
class BasicQueryTests(TestCase):
1717
"""Backend-agnostic query tests."""
1818

19+
def tearDown(self):
20+
Blog.objects.all().delete()
21+
Post.objects.all().delete()
22+
IntegerModel.objects.all().delete()
23+
1924
def test_add_and_delete_blog(self):
2025
Blog.objects.create(title='blog1')
2126
self.assertEqual(Blog.objects.count(), 1)
@@ -430,6 +435,9 @@ class OrLookupsTests(TestCase):
430435
"""Stolen from the Django test suite, shaked down for m2m tests."""
431436

432437
def setUp(self):
438+
439+
Article.objects.all().delete()
440+
433441
self.a1 = Article.objects.create(
434442
headline='Hello', pub_date=datetime.datetime(2005, 11, 27)).pk
435443
self.a2 = Article.objects.create(
@@ -438,6 +446,9 @@ def setUp(self):
438446
headline='Hello and goodbye',
439447
pub_date=datetime.datetime(2005, 11, 29)).pk
440448

449+
def tearDown(self):
450+
Article.objects.all().delete()
451+
441452
def test_filter_or(self):
442453
self.assertQuerysetEqual(
443454
Article.objects.filter(headline__startswith='Hello') |
@@ -572,6 +583,7 @@ def test_q_and(self):
572583
[])
573584

574585
def test_q_exclude(self):
586+
575587
self.assertQuerysetEqual(
576588
Article.objects.exclude(Q(headline__startswith='Hello')),
577589
['Goodbye'],

0 commit comments

Comments
 (0)