0001_initial.py
28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
# -*- coding: utf-8 -*-
# Generated by Django 1.9.4 on 2016-03-30 10:10
from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Album',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=45, null=True)),
('desc', models.TextField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True, null=True)),
('updated', models.DateTimeField(auto_now=True, null=True)),
],
options={
'db_table': 'album',
'managed': True,
},
),
migrations.CreateModel(
name='Alert',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('voevent_xml', models.TextField(blank=True, null=True)),
('type', models.CharField(blank=True, max_length=45, null=True)),
('client', models.CharField(blank=True, max_length=45, null=True)),
('burst_jd', models.CharField(blank=True, max_length=45, null=True)),
('burst_ra', models.CharField(blank=True, max_length=45, null=True)),
('burst_dec', models.CharField(blank=True, max_length=45, null=True)),
('equinox', models.CharField(blank=True, max_length=45, null=True)),
('jd_pkt', models.IntegerField(blank=True, null=True)),
('jd_send', models.IntegerField(blank=True, null=True)),
('jd_received', models.IntegerField(blank=True, null=True)),
('trigger_instrum', models.CharField(blank=True, max_length=45, null=True)),
('trigger_num', models.CharField(blank=True, max_length=45, null=True)),
('grb_error', models.CharField(blank=True, max_length=45, null=True)),
('def_not_grb', models.BooleanField(default=False)),
('editor', models.CharField(blank=True, max_length=45, null=True)),
('flag', models.CharField(blank=True, max_length=45, null=True)),
('idgcn_notice', models.IntegerField(blank=True, null=True)),
],
options={
'db_table': 'alert',
'managed': True,
},
),
migrations.CreateModel(
name='Country',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=45, null=True)),
('desc', models.TextField(blank=True, null=True)),
('quota', models.FloatField(blank=True, null=True)),
],
options={
'db_table': 'country',
'managed': True,
'verbose_name_plural': 'Countries',
},
),
migrations.CreateModel(
name='Detector',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('status', models.CharField(blank=True, max_length=7, null=True)),
('nb_photo_x', models.IntegerField(blank=True, null=True)),
('nb_photo_y', models.IntegerField(blank=True, null=True)),
('photo_size_x', models.IntegerField(blank=True, null=True)),
('photo_size_y', models.IntegerField(blank=True, null=True)),
('has_shutter', models.BooleanField(default=False)),
('equivalent_foc_len', models.CharField(blank=True, max_length=45, null=True)),
('acq_start', models.DateTimeField(blank=True, null=True)),
('acq_stop', models.DateTimeField(blank=True, null=True)),
('check_temp', models.FloatField(blank=True, null=True)),
('gain', models.FloatField(blank=True, null=True)),
('readout_noise', models.FloatField(blank=True, null=True)),
('readout_time', models.FloatField(blank=True, null=True)),
('idcam_readout_mode', models.IntegerField(blank=True, null=True)),
],
options={
'db_table': 'detector',
'managed': True,
},
),
migrations.CreateModel(
name='Device',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=45, null=True)),
('desc', models.TextField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True, null=True)),
('updated', models.DateTimeField(auto_now=True, null=True)),
('is_online', models.BooleanField(default=False)),
('status', models.CharField(blank=True, max_length=11, null=True)),
('maintenance_date', models.DateTimeField(blank=True, null=True)),
],
options={
'db_table': 'device',
'managed': True,
},
),
migrations.CreateModel(
name='Filter',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('category', models.CharField(blank=True, max_length=1, null=True)),
('transmission_curve_doc', models.CharField(blank=True, max_length=45, null=True)),
('detector', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='filters', to='pyrosapp.Detector')),
('device', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='pyrosapp.Device')),
],
options={
'db_table': 'filter',
'managed': True,
},
),
migrations.CreateModel(
name='Image',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=45, null=True)),
('desc', models.TextField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True, null=True)),
('updated', models.DateTimeField(auto_now=True, null=True)),
('date_from_gps', models.CharField(blank=True, max_length=45, null=True)),
('level', models.IntegerField(blank=True, null=True)),
('type', models.CharField(blank=True, max_length=5, null=True)),
('quality', models.CharField(blank=True, max_length=45, null=True)),
('flaggps', models.CharField(blank=True, max_length=45, null=True)),
('exposure', models.CharField(blank=True, max_length=45, null=True)),
('tempext', models.CharField(blank=True, max_length=45, null=True)),
('pressure', models.CharField(blank=True, max_length=45, null=True)),
('humidext', models.CharField(blank=True, max_length=45, null=True)),
('wind', models.CharField(blank=True, max_length=45, null=True)),
('wind_dir', models.CharField(blank=True, max_length=45, null=True)),
('dwnimg', models.CharField(blank=True, max_length=45, null=True)),
('dwncata', models.CharField(blank=True, max_length=45, null=True)),
('dwn', models.CharField(blank=True, max_length=45, null=True)),
('level0_fits_name', models.CharField(blank=True, max_length=45, null=True)),
('level1a_fits_name', models.CharField(blank=True, max_length=45, null=True)),
('level1b_fits_name', models.CharField(blank=True, max_length=45, null=True)),
],
options={
'db_table': 'image',
'managed': True,
},
),
migrations.CreateModel(
name='NrtAnalysis',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=45, null=True)),
('desc', models.TextField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True, null=True)),
('updated', models.DateTimeField(auto_now=True, null=True)),
('analysis', models.TextField(blank=True, null=True)),
],
options={
'db_table': 'nrtanalysis',
'managed': True,
'verbose_name_plural': 'Nrt analyzes',
},
),
migrations.CreateModel(
name='Plan',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=45, null=True)),
('desc', models.CharField(blank=True, max_length=45, null=True)),
('created', models.DateTimeField(auto_now_add=True, null=True)),
('updated', models.DateTimeField(auto_now=True, null=True)),
('duration', models.FloatField(blank=True, null=True)),
('position', models.CharField(blank=True, max_length=45, null=True)),
('exposure_time', models.FloatField(blank=True, null=True)),
('nb_images', models.IntegerField(blank=True, null=True)),
('dithering', models.BooleanField(default=False)),
('album', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='plans', to='pyrosapp.Album')),
('filter', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='plans', to='pyrosapp.Filter')),
],
options={
'db_table': 'plan',
'managed': True,
},
),
migrations.CreateModel(
name='PyrosUser',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('desc', models.TextField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True, null=True)),
('updated', models.DateTimeField(auto_now=True, null=True)),
('url', models.CharField(blank=True, max_length=45, null=True)),
('tel1', models.CharField(blank=True, max_length=45, null=True)),
('tel2', models.CharField(blank=True, max_length=45, null=True)),
('address', models.CharField(blank=True, max_length=45, null=True)),
('last_connect', models.DateTimeField(blank=True, null=True)),
('cur_connect', models.DateTimeField(blank=True, null=True)),
('putvalid_beg', models.DateTimeField(blank=True, null=True)),
('putvalid_end', models.DateTimeField(blank=True, null=True)),
('acqvalid_beg', models.CharField(blank=True, max_length=45, null=True)),
('acqvalid_end', models.CharField(blank=True, max_length=45, null=True)),
('quota', models.FloatField(blank=True, null=True)),
('quota_rea', models.FloatField(blank=True, null=True)),
('u_priority', models.IntegerField(blank=True, null=True)),
('p_priority', models.IntegerField(blank=True, null=True)),
('dir_level', models.IntegerField(blank=True, null=True)),
('can_del_void_req', models.BooleanField(default=False)),
('country', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='pyros_users', to='pyrosapp.Country')),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
'db_table': 'pyros_user',
'managed': True,
},
),
migrations.CreateModel(
name='Request',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=45, null=True)),
('desc', models.TextField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True, null=True)),
('updated', models.DateTimeField(auto_now=True, null=True)),
('is_alert', models.BooleanField(default=False)),
('type', models.CharField(blank=True, max_length=8, null=True)),
('status', models.CharField(blank=True, max_length=10, null=True)),
('target_or_theme', models.CharField(blank=True, max_length=45, null=True)),
('priority', models.IntegerField(blank=True, null=True)),
('autodeposit', models.BooleanField(default=False)),
('checkpoint', models.CharField(blank=True, max_length=45, null=True)),
('flag', models.CharField(blank=True, max_length=45, null=True)),
('pyros_user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='requests', to='pyrosapp.PyrosUser')),
],
options={
'db_table': 'request',
'managed': True,
},
),
migrations.CreateModel(
name='Schedule',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True, null=True)),
('day_start', models.DateTimeField(blank=True, null=True)),
('day_stop', models.DateTimeField(blank=True, null=True)),
('flag', models.CharField(blank=True, max_length=45, null=True)),
],
options={
'db_table': 'schedule',
'managed': True,
},
),
migrations.CreateModel(
name='ScheduleHistory',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True, null=True)),
('day_start', models.DateTimeField(blank=True, null=True)),
('day_stop', models.DateTimeField(blank=True, null=True)),
('flag', models.CharField(blank=True, max_length=45, null=True)),
],
options={
'db_table': 'schedulehistory',
'managed': True,
'verbose_name_plural': 'Schedule histories',
},
),
migrations.CreateModel(
name='ScientificProgram',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=45, null=True)),
('desc', models.TextField(blank=True, null=True)),
('quota', models.FloatField(blank=True, null=True)),
('priority', models.IntegerField(blank=True, null=True)),
('pyros_users', models.ManyToManyField(related_name='scientificprograms', to='pyrosapp.PyrosUser')),
],
options={
'db_table': 'scientificprogram',
'managed': True,
},
),
migrations.CreateModel(
name='Sequence',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=45, null=True)),
('desc', models.TextField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True, null=True)),
('updated', models.DateTimeField(auto_now=True, null=True)),
('is_alert', models.BooleanField(default=False)),
('status', models.CharField(blank=True, max_length=11, null=True)),
('duration', models.FloatField(blank=True, null=True)),
('pointing', models.CharField(blank=True, max_length=45, null=True)),
('with_drift', models.BooleanField(default=False)),
('priority', models.IntegerField(blank=True, null=True)),
('analysis_method', models.CharField(blank=True, max_length=45, null=True)),
('exec_start', models.DateTimeField()),
('exec_stop', models.DateTimeField(blank=True, null=True)),
('moon_min', models.IntegerField(blank=True, null=True)),
('alt_min', models.IntegerField(blank=True, null=True)),
('type', models.CharField(blank=True, max_length=6, null=True)),
('img_current', models.CharField(blank=True, max_length=45, null=True)),
('img_total', models.CharField(blank=True, max_length=45, null=True)),
('not_obs', models.BooleanField(default=False)),
('obsolete', models.BooleanField(default=False)),
('processing', models.BooleanField(default=False)),
('flag', models.CharField(blank=True, max_length=45, null=True)),
('request', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sequences', to='pyrosapp.Request')),
('schedule', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='sequences', to='pyrosapp.Schedule')),
],
options={
'db_table': 'sequence',
'managed': True,
},
),
migrations.CreateModel(
name='SequenceType',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=45, null=True)),
('desc', models.TextField(blank=True, null=True)),
('priority', models.IntegerField(blank=True, null=True)),
],
options={
'db_table': 'sequencetype',
'managed': True,
},
),
migrations.CreateModel(
name='SiteWatch',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('updated', models.DateTimeField(auto_now=True, null=True)),
('lights', models.CharField(blank=True, max_length=45, null=True)),
('dome', models.CharField(blank=True, max_length=45, null=True)),
('doors', models.CharField(blank=True, max_length=45, null=True)),
('temperature', models.FloatField(blank=True, null=True)),
],
options={
'db_table': 'sitewatch',
'managed': True,
'verbose_name_plural': 'Site watches',
},
),
migrations.CreateModel(
name='SiteWatchHistory',
fields=[
('id', models.IntegerField(primary_key=True, serialize=False)),
],
options={
'db_table': 'sitewatchhistory',
'managed': True,
'verbose_name_plural': 'Site watch histories',
},
),
migrations.CreateModel(
name='StrategyObs',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=45, null=True)),
('desc', models.TextField(blank=True, null=True)),
('json_file', models.CharField(blank=True, max_length=45, null=True)),
],
options={
'db_table': 'strategyobs',
'managed': True,
'verbose_name_plural': 'Strategy obs',
},
),
migrations.CreateModel(
name='Telescope',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('mount_type', models.CharField(blank=True, max_length=9, null=True)),
('diameter', models.FloatField(blank=True, null=True)),
('status', models.CharField(blank=True, max_length=45, null=True)),
('latitude', models.FloatField(blank=True, null=True)),
('longitude', models.FloatField(blank=True, null=True)),
('sens', models.CharField(blank=True, max_length=1, null=True)),
('altitude', models.FloatField(blank=True, null=True)),
('readout_time', models.IntegerField(blank=True, null=True)),
('slew_time', models.IntegerField(blank=True, null=True)),
('slew_dead', models.IntegerField(blank=True, null=True)),
('slew_rate_max', models.FloatField(blank=True, null=True)),
('horizon_type', models.CharField(blank=True, max_length=45, null=True)),
('horizon_def', models.FloatField(blank=True, null=True)),
('lim_dec_max', models.FloatField(blank=True, null=True)),
('lim_dec_min', models.FloatField(blank=True, null=True)),
('lim_ha_rise', models.FloatField(blank=True, null=True)),
('lim_ha_set', models.FloatField(blank=True, null=True)),
('address', models.CharField(blank=True, max_length=45, null=True)),
('night_elev_sun', models.FloatField(blank=True, null=True)),
('mpc_code', models.CharField(blank=True, max_length=45, null=True)),
('device', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='pyrosapp.Device')),
],
options={
'db_table': 'telescope',
'managed': True,
},
),
migrations.CreateModel(
name='UserLevel',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, max_length=45, null=True)),
('desc', models.TextField(blank=True, null=True)),
('priority', models.IntegerField(blank=True, null=True)),
('quota', models.FloatField(blank=True, null=True)),
],
options={
'db_table': 'userlevel',
'managed': True,
},
),
migrations.CreateModel(
name='WeatherWatch',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('updated', models.DateTimeField(blank=True, null=True)),
('humid_int', models.FloatField(blank=True, null=True)),
('humid_ext', models.FloatField(blank=True, null=True)),
('wind', models.FloatField(blank=True, null=True)),
('wind_dir', models.CharField(blank=True, max_length=1, null=True)),
('temp_int', models.FloatField(blank=True, null=True)),
('temp_ext', models.FloatField(blank=True, null=True)),
('pressure', models.FloatField(blank=True, null=True)),
('rain', models.FloatField(blank=True, null=True)),
('dwn', models.CharField(blank=True, max_length=45, null=True)),
],
options={
'db_table': 'weatherwatch',
'managed': True,
'verbose_name_plural': 'Weather watches',
},
),
migrations.CreateModel(
name='WeatherWatchHistory',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('datetime', models.DateTimeField(auto_now_add=True, null=True)),
('humid_int', models.CharField(blank=True, max_length=45, null=True)),
('humid_ext', models.CharField(blank=True, max_length=45, null=True)),
('wind', models.CharField(blank=True, max_length=45, null=True)),
('wind_dir', models.CharField(blank=True, max_length=45, null=True)),
('temp_int', models.CharField(blank=True, max_length=45, null=True)),
('temp_ext', models.CharField(blank=True, max_length=45, null=True)),
('pressure', models.CharField(blank=True, max_length=45, null=True)),
('rain', models.CharField(blank=True, max_length=45, null=True)),
('dwn', models.CharField(blank=True, max_length=45, null=True)),
],
options={
'db_table': 'weatherwatchhistory',
'managed': True,
'verbose_name_plural': 'Weather watch histories',
},
),
migrations.AddField(
model_name='sequence',
name='sequencetype',
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='sequences', to='pyrosapp.SequenceType'),
),
migrations.AddField(
model_name='schedulehistory',
name='sequences',
field=models.ManyToManyField(related_name='schedulehistories', to='pyrosapp.Sequence'),
),
migrations.AddField(
model_name='request',
name='scientificprogram',
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='requests', to='pyrosapp.ScientificProgram'),
),
migrations.AddField(
model_name='pyrosuser',
name='userlevel',
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='pyros_users', to='pyrosapp.UserLevel'),
),
migrations.AddField(
model_name='image',
name='nrtanalysis',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='images', to='pyrosapp.NrtAnalysis'),
),
migrations.AddField(
model_name='image',
name='plan',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='images', to='pyrosapp.Plan'),
),
migrations.AddField(
model_name='detector',
name='device',
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='pyrosapp.Device'),
),
migrations.AddField(
model_name='detector',
name='telescope',
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='detectors', to='pyrosapp.Telescope'),
),
migrations.AddField(
model_name='alert',
name='request',
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='pyrosapp.Request'),
),
migrations.AddField(
model_name='alert',
name='strategyobs',
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='alerts', to='pyrosapp.StrategyObs'),
),
migrations.AddField(
model_name='album',
name='detector',
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='albums', to='pyrosapp.Detector'),
),
migrations.AddField(
model_name='album',
name='sequence',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='albums', to='pyrosapp.Sequence'),
),
]