@@ -63,7 +63,7 @@ class Player(models.Model):
6363 avatar = models .FilePathField ()
6464 score = models .BigIntegerField ()
6565 last_login_at = models .DateTimeField ()
66- game = models .ForeignKey (Game )
66+ game = models .ForeignKey (to = Game , on_delete = models . CASCADE )
6767 ip = models .IPAddressField ()
6868 achievements = models .CommaSeparatedIntegerField (max_length = 1000 )
6969 friends = models .PositiveIntegerField ()
@@ -83,8 +83,15 @@ class Action(models.Model):
8383 executed_at = models .DateTimeField ()
8484 duration = models .DurationField ()
8585 uuid = models .UUIDField ()
86- actor = models .ForeignKey (Player ,related_name = 'actions' , null = False )
87- target = models .ForeignKey (Player , related_name = 'enemy_actions+' , null = True )
86+ actor = models .ForeignKey (to = Player ,on_delete = models .CASCADE ,related_name = 'actions' , null = False )
87+ target = models .ForeignKey (to = Player ,on_delete = models .CASCADE , related_name = 'enemy_actions+' , null = True )
88+
89+ class Product (models .Model ):
90+
91+ name = models .CharField (max_length = 100 )
92+ short_description = models .CharField (max_length = 100 , default = 'default short description' )
93+ description = models .TextField (default = 'default long description' )
94+ enabled = models .BooleanField (default = True )
8895
8996
9097class NameGuesserTestCase (TestCase ):
@@ -258,3 +265,32 @@ def test_invalid_number_arg(self):
258265 except Exception as e :
259266 self .assertTrue (isinstance (e , SeederCommandError ))
260267 pass
268+
269+ class DefaultValueTestCase (TestCase ):
270+
271+ def test_default_value_guessed_by_field_type (self ):
272+ faker = fake
273+ seeder = Seeder (faker )
274+
275+ seeder .add_entity (Product , 1 , {'name' :'Awesome Product' })
276+ _id = seeder .execute ()
277+
278+ self .assertIsNotNone (_id )
279+
280+ product = Product .objects .get (id = _id [Product ][0 ])
281+
282+ self .assertEquals (product .short_description , 'default short description' )
283+ self .assertTrue (product .enabled )
284+
285+ def test_default_value_guessed_by_field_name (self ):
286+ faker = fake
287+ seeder = Seeder (faker )
288+
289+ seeder .add_entity (Product , 1 , {'name' :'Great Product' })
290+ _id = seeder .execute ()
291+
292+ self .assertIsNotNone (_id )
293+
294+ product = Product .objects .get (id = _id [Product ][0 ])
295+
296+ self .assertEquals (product .description , 'default long description' )
0 commit comments