executes a delete query to remove columns that have changed to null
(self, conditionals=None)
| 1386 | return self |
| 1387 | |
| 1388 | def _delete_null_columns(self, conditionals=None): |
| 1389 | """ |
| 1390 | executes a delete query to remove columns that have changed to null |
| 1391 | """ |
| 1392 | ds = DeleteStatement(self.column_family_name, conditionals=conditionals, if_exists=self._if_exists) |
| 1393 | deleted_fields = False |
| 1394 | static_only = True |
| 1395 | for _, v in self.instance._values.items(): |
| 1396 | col = v.column |
| 1397 | if v.deleted: |
| 1398 | ds.add_field(col.db_field_name) |
| 1399 | deleted_fields = True |
| 1400 | static_only &= col.static |
| 1401 | elif isinstance(col, columns.Map): |
| 1402 | uc = MapDeleteClause(col.db_field_name, v.value, v.previous_value) |
| 1403 | if uc.get_context_size() > 0: |
| 1404 | ds.add_field(uc) |
| 1405 | deleted_fields = True |
| 1406 | static_only |= col.static |
| 1407 | |
| 1408 | if deleted_fields: |
| 1409 | keys = self.model._partition_keys if static_only else self.model._primary_keys |
| 1410 | for name, col in keys.items(): |
| 1411 | ds.add_where(col, EqualsOperator(), getattr(self.instance, name)) |
| 1412 | self._execute(ds) |
| 1413 | |
| 1414 | def update(self): |
| 1415 | """ |
no test coverage detected