22from __future__ import absolute_import
33from __future__ import unicode_literals
44
5- import time
65import datetime
76
87from django .utils .dateparse import parse_time , parse_datetime
4241)
4342
4443
44+ def add_timedelta (time , timedelta ):
45+ dt = datetime .datetime .combine (datetime .datetime .today (), time )
46+ dt += timedelta
47+ return dt .time ()
48+
49+
4550class TestFilterSets (TestCase ):
4651
4752 if django .VERSION >= (1 , 8 ):
@@ -58,158 +63,73 @@ def generateTestData(cls):
5863 #######################
5964 # Create users
6065 #######################
61- user1 = User (
62- username = "user1" ,
63- email = "user1@example.org"
64- )
65- user1 .save ()
66-
67- user2 = User (
68- username = "user2" ,
69- email = "user2@example.org"
70- )
71- user2 .save ()
72-
73- n = Note (
74- title = "Test 1" ,
75- content = "Test content 1" ,
76- author = user1
77- )
78- n .save ()
66+ user1 = User .objects .create (username = "user1" , email = "user1@example.org" )
67+ user2 = User .objects .create (username = "user2" , email = "user2@example.org" )
7968
8069 #######################
8170 # Create notes
8271 #######################
83- n = Note (
84- title = "Test 2" ,
85- content = "Test content 2" ,
86- author = user1
87- )
88- n .save ()
89-
90- n = Note (
91- title = "Hello Test 3" ,
92- content = "Test content 3" ,
93- author = user1
94- )
95- n .save ()
96-
97- n = Note (
98- title = "Hello Test 4" ,
99- content = "Test content 4" ,
100- author = user2
101- )
102- n .save ()
72+ note1 = Note .objects .create (title = "Test 1" , content = "Test content 1" , author = user1 )
73+ note2 = Note .objects .create (title = "Test 2" , content = "Test content 2" , author = user1 )
74+ Note .objects .create (title = "Hello Test 3" , content = "Test content 3" , author = user1 )
75+ note4 = Note .objects .create (title = "Hello Test 4" , content = "Test content 4" , author = user2 )
10376
10477 #######################
10578 # Create posts
10679 #######################
107- post = Post (
108- note = Note .objects .get (title = "Test 1" ),
109- content = "Test content in post 1" ,
110- )
111- post .save ()
112-
113- post = Post (
114- note = Note .objects .get (title = "Test 2" ),
115- content = "Test content in post 2" ,
116- )
117- post .save ()
118-
119- post = Post (
120- note = Note .objects .get (title = "Hello Test 4" ),
121- content = "Test content in post 3" ,
122- )
123- post .save ()
80+ post1 = Post .objects .create (note = note1 , content = "Test content in post 1" )
81+ Post .objects .create (note = note2 , content = "Test content in post 2" )
82+ post3 = Post .objects .create (note = note4 , content = "Test content in post 3" )
12483
12584 #######################
12685 # Create covers
12786 #######################
128- cover = Cover (
129- post = Post .objects .get (note__title = "Test 1" ),
130- comment = "Cover 1"
131- )
132- cover .save ()
133-
134- cover = Cover (
135- post = Post .objects .get (note__title = "Hello Test 4" ),
136- comment = "Cover 2"
137- )
138- cover .save ()
87+ Cover .objects .create (post = post1 , comment = "Cover 1" )
88+ Cover .objects .create (post = post3 , comment = "Cover 2" )
13989
14090 #######################
14191 # Create pages
14292 #######################
143- page = Page (
144- title = "First page" ,
145- content = "First first."
146- )
147- page .save ()
148-
149- page = Page (
150- title = "Second page" ,
151- content = "Second second." ,
152- previous_page = Page .objects .get (title = "First page" )
153- )
154- page .save ()
93+ page1 = Page .objects .create (title = "First page" , content = "First first." )
94+ Page .objects .create (title = "Second page" , content = "Second second." , previous_page = page1 )
15595
15696 ################################
15797 # ManyToMany
15898 ################################
159- tag = Tag (name = "park" )
160- tag .save ()
161- tag = Tag (name = "lake" )
162- tag .save ()
163- tag = Tag (name = "house" )
164- tag .save ()
165-
166- blogpost = BlogPost (
167- title = "First post" ,
168- content = "First"
169- )
170- blogpost .save ()
171- blogpost .tags = [Tag .objects .get (name = "park" ), Tag .objects .get (name = "house" )]
172-
173- blogpost = BlogPost (
174- title = "Second post" ,
175- content = "Secon"
176- )
177- blogpost .save ()
178- blogpost .tags = [Tag .objects .get (name = "house" )]
99+ t1 = Tag .objects .create (name = "park" )
100+ Tag .objects .create (name = "lake" )
101+ t3 = Tag .objects .create (name = "house" )
102+
103+ blogpost = BlogPost .objects .create (title = "First post" , content = "First" )
104+ blogpost .tags = [t1 , t3 ]
105+
106+ blogpost = BlogPost .objects .create (title = "Second post" , content = "Secon" )
107+ blogpost .tags = [t3 ]
179108
180109 ################################
181110 # Recursive relations
182111 ################################
183- a = A (title = "A1" )
184- a .save ()
185-
186- b = B (name = "B1" )
187- b .save ()
188-
189- c = C (title = "C1" )
190- c .save ()
112+ a = A .objects .create (title = "A1" )
113+ b = B .objects .create (name = "B1" )
114+ c = C .objects .create (title = "C1" )
191115
192116 c .a = a
193117 c .save ()
194- a .b = b
195- a .save ()
196118
197- a = A ( title = "A2" )
119+ a . b = b
198120 a .save ()
199121
200- c = C (title = "C2" )
201- c .save ()
202-
203- c = C (title = "C3" )
204- c .save ()
205-
206- p = Person (name = "John" )
207- p .save ()
122+ A .objects .create (title = "A2" )
123+ C .objects .create (title = "C2" )
124+ C .objects .create (title = "C3" )
208125
209- time .sleep (1 ) # Created at least one second apart
210- p = Person (name = "Mark" , best_friend = Person .objects .get (name = "John" ))
211- p .save ()
126+ john = Person .objects .create (name = "John" )
212127
128+ # Created at least one second apart
129+ mark = Person .objects .create (name = "Mark" , best_friend = john )
130+ mark .time_joined = add_timedelta (mark .time_joined , datetime .timedelta (seconds = 1 ))
131+ mark .datetime_joined += datetime .timedelta (seconds = 1 )
132+ mark .save ()
213133
214134 def test_alllookupsfilter (self ):
215135 # Test __iendswith
@@ -400,7 +320,7 @@ def test_m2m_relation(self):
400320 def test_implicit_date_filters (self ):
401321 john = Person .objects .get (name = "John" )
402322 # Mark was created at least one second after John.
403- mark = Person .objects .get (name = "Mark" )
323+ # mark = Person.objects.get(name="Mark")
404324
405325 from rest_framework import serializers
406326 from rest_framework .renderers import JSONRenderer
@@ -490,7 +410,6 @@ def test_inset_number_filter(self):
490410 self .assertIn (p1 , f )
491411 self .assertIn (p2 , f )
492412
493-
494413 INVALID_GET = {
495414 'pk__in' : '{:d},c{:d}' .format (p1 , p2 )
496415 }
0 commit comments