adding restriction around defining counter or container columns as polymorphic keys

This commit is contained in:
Blake Eggleston
2013-09-03 17:00:15 -07:00
parent 880600924a
commit f0b6966d41
2 changed files with 7 additions and 1 deletions

View File

@@ -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:

View File

@@ -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):