adding restriction around defining counter or container columns as polymorphic keys
This commit is contained in:
@@ -436,6 +436,9 @@ class ModelMetaClass(type):
|
||||
|
||||
polymorphic_column_name, polymorphic_column = polymorphic_columns[0] if polymorphic_columns else (None, None)
|
||||
|
||||
if isinstance(polymorphic_column, (columns.BaseContainerColumn, columns.Counter)):
|
||||
raise ModelDefinitionException('counter and container columns cannot be used for polymorphic keys')
|
||||
|
||||
# find polymorphic base class
|
||||
polymorphic_base = None
|
||||
if is_polymorphic and not is_polymorphic_base:
|
||||
|
||||
@@ -62,7 +62,10 @@ class TestPolymorphicClassConstruction(BaseCassEngTestCase):
|
||||
assert Base.column_family_name() == M1.column_family_name()
|
||||
|
||||
def test_collection_columns_cant_be_polymorphic_keys(self):
|
||||
pass
|
||||
with self.assertRaises(models.ModelDefinitionException):
|
||||
class Base(models.Model):
|
||||
partition = columns.Integer(primary_key=True)
|
||||
type1 = columns.Set(columns.Integer, polymorphic_key=True)
|
||||
|
||||
|
||||
class PolyBase(models.Model):
|
||||
|
||||
Reference in New Issue
Block a user