1- # Generated by Django 5.1.5 on 2025-01 -23 18:41
1+ # Generated by Django 5.1.6 on 2025-04 -23 18:08
22
3+ import data .models
34import django .core .files .storage
45import django .db .models .deletion
56from django .conf import settings
@@ -15,7 +16,7 @@ class Migration(migrations.Migration):
1516
1617 operations = [
1718 migrations .CreateModel (
18- name = "Data " ,
19+ name = "DataFile " ,
1920 fields = [
2021 (
2122 "id" ,
@@ -26,6 +27,12 @@ class Migration(migrations.Migration):
2627 verbose_name = "ID" ,
2728 ),
2829 ),
30+ (
31+ "is_public" ,
32+ models .BooleanField (
33+ default = False , help_text = "opt in to make your data public"
34+ ),
35+ ),
2936 (
3037 "file_name" ,
3138 models .CharField (
@@ -45,22 +52,281 @@ class Migration(migrations.Migration):
4552 upload_to = "uploaded_files" ,
4653 ),
4754 ),
55+ (
56+ "current_user" ,
57+ models .ForeignKey (
58+ blank = True ,
59+ null = True ,
60+ on_delete = django .db .models .deletion .CASCADE ,
61+ related_name = "+" ,
62+ to = settings .AUTH_USER_MODEL ,
63+ ),
64+ ),
65+ (
66+ "users" ,
67+ models .ManyToManyField (
68+ blank = True , related_name = "+" , to = settings .AUTH_USER_MODEL
69+ ),
70+ ),
71+ ],
72+ options = {
73+ "abstract" : False ,
74+ },
75+ ),
76+ migrations .CreateModel (
77+ name = "DataSet" ,
78+ fields = [
79+ (
80+ "id" ,
81+ models .BigAutoField (
82+ auto_created = True ,
83+ primary_key = True ,
84+ serialize = False ,
85+ verbose_name = "ID" ,
86+ ),
87+ ),
88+ (
89+ "is_public" ,
90+ models .BooleanField (
91+ default = False , help_text = "opt in to make your data public"
92+ ),
93+ ),
94+ ("name" , models .CharField (max_length = 200 )),
95+ (
96+ "current_user" ,
97+ models .ForeignKey (
98+ blank = True ,
99+ null = True ,
100+ on_delete = django .db .models .deletion .CASCADE ,
101+ related_name = "+" ,
102+ to = settings .AUTH_USER_MODEL ,
103+ ),
104+ ),
105+ ("files" , models .ManyToManyField (to = "data.datafile" )),
106+ (
107+ "users" ,
108+ models .ManyToManyField (
109+ blank = True , related_name = "+" , to = settings .AUTH_USER_MODEL
110+ ),
111+ ),
112+ ],
113+ options = {
114+ "abstract" : False ,
115+ },
116+ ),
117+ migrations .CreateModel (
118+ name = "MetaData" ,
119+ fields = [
120+ (
121+ "id" ,
122+ models .BigAutoField (
123+ auto_created = True ,
124+ primary_key = True ,
125+ serialize = False ,
126+ verbose_name = "ID" ,
127+ ),
128+ ),
129+ ("title" , models .CharField (default = "Title" , max_length = 500 )),
130+ ("run" , models .JSONField (default = data .models .empty_list )),
131+ ("definition" , models .TextField (blank = True , null = True )),
132+ ("instrument" , models .JSONField (blank = True , null = True )),
133+ ("process" , models .JSONField (default = data .models .empty_list )),
134+ ("sample" , models .JSONField (blank = True , null = True )),
135+ (
136+ "dataset" ,
137+ models .OneToOneField (
138+ on_delete = django .db .models .deletion .CASCADE ,
139+ related_name = "metadata" ,
140+ to = "data.dataset" ,
141+ ),
142+ ),
143+ ],
144+ ),
145+ migrations .CreateModel (
146+ name = "Quantity" ,
147+ fields = [
148+ (
149+ "id" ,
150+ models .BigAutoField (
151+ auto_created = True ,
152+ primary_key = True ,
153+ serialize = False ,
154+ verbose_name = "ID" ,
155+ ),
156+ ),
157+ ("value" , models .JSONField ()),
158+ ("variance" , models .JSONField ()),
159+ ("units" , models .CharField (max_length = 200 )),
160+ ("hash" , models .IntegerField ()),
161+ ("label" , models .CharField (max_length = 50 )),
162+ (
163+ "dataset" ,
164+ models .ForeignKey (
165+ on_delete = django .db .models .deletion .CASCADE ,
166+ related_name = "data_contents" ,
167+ to = "data.dataset" ,
168+ ),
169+ ),
170+ ],
171+ ),
172+ migrations .CreateModel (
173+ name = "OperationTree" ,
174+ fields = [
175+ (
176+ "id" ,
177+ models .BigAutoField (
178+ auto_created = True ,
179+ primary_key = True ,
180+ serialize = False ,
181+ verbose_name = "ID" ,
182+ ),
183+ ),
184+ (
185+ "operation" ,
186+ models .CharField (
187+ choices = [
188+ ("zero" , "0 [Add.Id.]" ),
189+ ("one" , "1 [Mul.Id.]" ),
190+ ("constant" , "Constant" ),
191+ ("variable" , "Variable" ),
192+ ("neg" , "Neg" ),
193+ ("reciprocal" , "Inv" ),
194+ ("add" , "Add" ),
195+ ("sub" , "Sub" ),
196+ ("mul" , "Mul" ),
197+ ("div" , "Div" ),
198+ ("pow" , "Pow" ),
199+ ("transpose" , "Transpose" ),
200+ ("dot" , "Dot" ),
201+ ("matmul" , "MatMul" ),
202+ ("tensor_product" , "TensorProduct" ),
203+ ],
204+ max_length = 20 ,
205+ ),
206+ ),
207+ ("parameters" , models .JSONField (default = data .models .empty_dict )),
208+ ("label" , models .CharField (blank = True , max_length = 10 , null = True )),
209+ (
210+ "child_operation" ,
211+ models .ForeignKey (
212+ blank = True ,
213+ null = True ,
214+ on_delete = django .db .models .deletion .CASCADE ,
215+ related_name = "parent_operations" ,
216+ to = "data.operationtree" ,
217+ ),
218+ ),
219+ (
220+ "quantity" ,
221+ models .OneToOneField (
222+ blank = True ,
223+ null = True ,
224+ on_delete = django .db .models .deletion .CASCADE ,
225+ related_name = "operation_tree" ,
226+ to = "data.quantity" ,
227+ ),
228+ ),
229+ ],
230+ ),
231+ migrations .CreateModel (
232+ name = "ReferenceQuantity" ,
233+ fields = [
234+ (
235+ "id" ,
236+ models .BigAutoField (
237+ auto_created = True ,
238+ primary_key = True ,
239+ serialize = False ,
240+ verbose_name = "ID" ,
241+ ),
242+ ),
243+ ("value" , models .JSONField ()),
244+ ("variance" , models .JSONField ()),
245+ ("units" , models .CharField (max_length = 200 )),
246+ ("hash" , models .IntegerField ()),
247+ (
248+ "derived_quantity" ,
249+ models .ForeignKey (
250+ on_delete = django .db .models .deletion .CASCADE ,
251+ related_name = "references" ,
252+ to = "data.quantity" ,
253+ ),
254+ ),
255+ ],
256+ ),
257+ migrations .CreateModel (
258+ name = "Session" ,
259+ fields = [
260+ (
261+ "id" ,
262+ models .BigAutoField (
263+ auto_created = True ,
264+ primary_key = True ,
265+ serialize = False ,
266+ verbose_name = "ID" ,
267+ ),
268+ ),
48269 (
49270 "is_public" ,
50271 models .BooleanField (
51- default = False ,
52- help_text = "opt in to submit your data into example pool" ,
272+ default = False , help_text = "opt in to make your data public"
53273 ),
54274 ),
275+ ("title" , models .CharField (max_length = 200 )),
55276 (
56277 "current_user" ,
57278 models .ForeignKey (
58279 blank = True ,
59280 null = True ,
60281 on_delete = django .db .models .deletion .CASCADE ,
282+ related_name = "+" ,
61283 to = settings .AUTH_USER_MODEL ,
62284 ),
63285 ),
286+ (
287+ "users" ,
288+ models .ManyToManyField (
289+ blank = True , related_name = "+" , to = settings .AUTH_USER_MODEL
290+ ),
291+ ),
292+ ],
293+ options = {
294+ "abstract" : False ,
295+ },
296+ ),
297+ migrations .CreateModel (
298+ name = "PublishedState" ,
299+ fields = [
300+ (
301+ "id" ,
302+ models .BigAutoField (
303+ auto_created = True ,
304+ primary_key = True ,
305+ serialize = False ,
306+ verbose_name = "ID" ,
307+ ),
308+ ),
309+ ("published" , models .BooleanField (default = False )),
310+ ("doi" , models .URLField ()),
311+ (
312+ "session" ,
313+ models .OneToOneField (
314+ on_delete = django .db .models .deletion .CASCADE ,
315+ related_name = "published_state" ,
316+ to = "data.session" ,
317+ ),
318+ ),
64319 ],
65320 ),
321+ migrations .AddField (
322+ model_name = "dataset" ,
323+ name = "session" ,
324+ field = models .ForeignKey (
325+ blank = True ,
326+ null = True ,
327+ on_delete = django .db .models .deletion .CASCADE ,
328+ related_name = "datasets" ,
329+ to = "data.session" ,
330+ ),
331+ ),
66332 ]
0 commit comments