MCPcopy
hub / github.com/django/django / test_check_constraint_exact_jsonfield

Method test_check_constraint_exact_jsonfield

tests/schema/tests.py:3035–3061  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3033 )
3034 @isolate_apps("schema")
3035 def test_check_constraint_exact_jsonfield(self):
3036 class JSONConstraintModel(Model):
3037 data = JSONField()
3038
3039 class Meta:
3040 app_label = "schema"
3041
3042 with connection.schema_editor() as editor:
3043 editor.create_model(JSONConstraintModel)
3044 self.isolated_local_models = [JSONConstraintModel]
3045 constraint_name = "check_only_stable_version"
3046 constraint = CheckConstraint(
3047 condition=Q(data__version="stable"),
3048 name=constraint_name,
3049 )
3050 JSONConstraintModel._meta.constraints = [constraint]
3051 with connection.schema_editor() as editor:
3052 editor.add_constraint(JSONConstraintModel, constraint)
3053 constraints = self.get_constraints(JSONConstraintModel._meta.db_table)
3054 self.assertIn(constraint_name, constraints)
3055 with self.assertRaises(IntegrityError), atomic():
3056 JSONConstraintModel.objects.create(
3057 data={"release": "5.0.2dev", "version": "dev"}
3058 )
3059 JSONConstraintModel.objects.create(
3060 data={"release": "5.0.3", "version": "stable"}
3061 )
3062
3063 @skipUnlessDBFeature(
3064 "supports_column_check_constraints", "can_introspect_check_constraints"

Callers

nothing calls this directly

Calls 8

get_constraintsMethod · 0.95
CheckConstraintClass · 0.90
QClass · 0.90
atomicFunction · 0.90
schema_editorMethod · 0.80
create_modelMethod · 0.45
add_constraintMethod · 0.45
createMethod · 0.45

Tested by

no test coverage detected