File tree Expand file tree Collapse file tree
tests/integration/cqlengine/model Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -796,6 +796,9 @@ def _transform_column(col_name, col_obj):
796796 if len (discriminator_columns ) > 1 :
797797 raise ModelDefinitionException ('only one discriminator_column (polymorphic_key (deprecated)) can be defined in a model, {} found' .format (len (discriminator_columns )))
798798
799+ if attrs ['__discriminator_value__' ] and not is_polymorphic :
800+ raise ModelDefinitionException ('__discriminator_value__ specified, but no base columns defined with discriminator_column=True' )
801+
799802 discriminator_column_name , discriminator_column = discriminator_columns [0 ] if discriminator_columns else (None , None )
800803
801804 if isinstance (discriminator_column , (columns .BaseContainerColumn , columns .Counter )):
Original file line number Diff line number Diff line change @@ -33,6 +33,11 @@ class M(models.Model):
3333 type1 = columns .Integer (polymorphic_key = True )
3434 type2 = columns .Integer (polymorphic_key = True )
3535
36+ def test_no_polymorphic_key_column_failure (self ):
37+ with self .assertRaises (models .ModelDefinitionException ):
38+ class M (models .Model ):
39+ __polymorphic_key__ = 1
40+
3641 def test_polymorphic_key_inheritance (self ):
3742 """ Tests that polymorphic_key attribute is not inherited """
3843 class Base (models .Model ):
@@ -264,6 +269,11 @@ class M(models.Model):
264269 type1 = columns .Integer (discriminator_column = True )
265270 type2 = columns .Integer (discriminator_column = True )
266271
272+ def test_no_discriminator_column_failure (self ):
273+ with self .assertRaises (models .ModelDefinitionException ):
274+ class M (models .Model ):
275+ __discriminator_value__ = 1
276+
267277 def test_discriminator_value_inheritance (self ):
268278 """ Tests that discriminator_column attribute is not inherited """
269279 class Base (models .Model ):
You can’t perform that action at this time.
0 commit comments