Skip to content

Commit c0c7fa0

Browse files
committed
Changes to OperationTree model
1 parent 4e46c7a commit c0c7fa0

File tree

2 files changed

+55
-2
lines changed

2 files changed

+55
-2
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Generated by Django 5.1.6 on 2025-03-19 20:20
2+
3+
import django.db.models.deletion
4+
from django.db import migrations, models
5+
6+
7+
class Migration(migrations.Migration):
8+
dependencies = [
9+
("data", "0012_remove_metadata_raw_metadata_and_more"),
10+
]
11+
12+
operations = [
13+
migrations.RemoveField(
14+
model_name="operationtree",
15+
name="parent_operation",
16+
),
17+
migrations.AddField(
18+
model_name="operationtree",
19+
name="parent_operation1",
20+
field=models.ForeignKey(
21+
blank=True,
22+
null=True,
23+
on_delete=django.db.models.deletion.CASCADE,
24+
related_name="child_operations1",
25+
to="data.operationtree",
26+
),
27+
),
28+
migrations.AddField(
29+
model_name="operationtree",
30+
name="parent_operation2",
31+
field=models.ForeignKey(
32+
blank=True,
33+
null=True,
34+
on_delete=django.db.models.deletion.CASCADE,
35+
related_name="child_operations2",
36+
to="data.operationtree",
37+
),
38+
),
39+
]

sasdata/fair_database/data/models.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,14 +119,28 @@ class OperationTree(models.Model):
119119
dataset = models.ForeignKey(DataSet, on_delete=models.CASCADE)
120120

121121
# operation
122+
# TODO: restrict to list of operations
122123
operation = models.CharField(max_length=10)
123124

124125
# parameters
125126
parameters = models.JSONField(default=dict)
126127

127128
# previous operation
128-
parent_operation = models.ForeignKey(
129-
"self", blank=True, null=True, on_delete=models.CASCADE
129+
parent_operation1 = models.ForeignKey(
130+
"self",
131+
blank=True,
132+
null=True,
133+
on_delete=models.CASCADE,
134+
related_name="child_operations1",
135+
)
136+
137+
# optional second previous operation for binary operations
138+
parent_operation2 = models.ForeignKey(
139+
"self",
140+
blank=True,
141+
null=True,
142+
on_delete=models.CASCADE,
143+
related_name="child_operations2",
130144
)
131145

132146

0 commit comments

Comments
 (0)