2
2
from django .contrib .gis .db .models import PointField
3
3
from django .db import models
4
4
5
- from ckc .models import SoftDeletableModel
5
+ from ckc .models import SoftDeletableModel , JsonSnapshotModel
6
6
7
7
8
8
User = get_user_model ()
9
9
10
10
11
+ # ----------------------------------------------------------------------------
12
+ # Testing soft deletable model
13
+ # ----------------------------------------------------------------------------
11
14
class AModel (SoftDeletableModel ):
12
15
title = models .CharField (max_length = 255 , default = "I'm a test!" )
13
16
14
17
18
+ # ----------------------------------------------------------------------------
19
+ # PrimaryKeyWriteSerializerReadField related model
20
+ # ----------------------------------------------------------------------------
15
21
class BModel (models .Model ):
16
22
a = models .ForeignKey (AModel , on_delete = models .CASCADE )
17
23
18
24
25
+ # ----------------------------------------------------------------------------
26
+ # DefaultCreatedByMixin models
27
+ # ----------------------------------------------------------------------------
19
28
class ModelWithACreator (models .Model ):
20
29
created_by = models .ForeignKey (User , on_delete = models .CASCADE )
21
30
@@ -24,5 +33,25 @@ class ModelWithADifferentNamedCreator(models.Model):
24
33
owner = models .ForeignKey (User , on_delete = models .CASCADE )
25
34
26
35
36
+ # ----------------------------------------------------------------------------
37
+ # For testing geo points in factories
38
+ # ----------------------------------------------------------------------------
27
39
class Location (models .Model ):
28
40
geo_point = PointField ()
41
+
42
+
43
+ # ----------------------------------------------------------------------------
44
+ # For testing JSON snapshots
45
+ # ----------------------------------------------------------------------------
46
+ class SnapshottedModel (JsonSnapshotModel , models .Model ):
47
+
48
+ def _create_json_snapshot (self ) -> dict :
49
+ return {
50
+ "test" : "snapshot"
51
+ }
52
+
53
+
54
+ class SnapshottedModelMissingOverride (JsonSnapshotModel , models .Model ):
55
+ # No _create_json_snapshot here! This is for testing purposes, to confirm we raise
56
+ # an assertion when this method is missing
57
+ pass
0 commit comments