models.py

Paul Carensac, 03/24/2016 03:30 pm

Download (18.7 KB)

 
1
# This is an auto-generated Django model module.
2
# You'll have to do the following manually to clean this up:
3
#   * Rearrange models' order
4
#   * Make sure each model has one field with primary_key=True
5
#   * Make sure each ForeignKey has `on_delete` set to the desired behavior.
6
#   * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table
7
# Feel free to rename the models, but don't rename db_table values or field names.
8
from __future__ import unicode_literals
9

    
10
from django.db import models
11

    
12

    
13
class Album(models.Model):
14
    sequence = models.ForeignKey('Sequence', models.CASCADE, related_name="albums")
15
    detector = models.ForeignKey('Detector', models.DO_NOTHING, related_name="albums")
16
    name = models.CharField(max_length=45, blank=True, null=True)
17
    desc = models.TextField(blank=True, null=True)
18
    created = models.DateTimeField(blank=True, null=True)
19
    updated = models.DateTimeField(blank=True, null=True)
20

    
21
    class Meta:
22
        managed = True
23
        db_table = 'album'
24

    
25
    def __str__(self):
26
        return (str(self.name))
27

    
28

    
29
class Alert(models.Model):
30
    request = models.OneToOneField('Request', models.CASCADE)
31
    strategyobs = models.ForeignKey('StrategyObs', models.DO_NOTHING, related_name="alerts")
32
    voevent_xml = models.TextField(blank=True, null=True)
33
    type = models.CharField(max_length=45, blank=True, null=True)
34
    client = models.CharField(max_length=45, blank=True, null=True)
35
    burst_jd = models.CharField(max_length=45, blank=True, null=True)
36
    burst_ra = models.CharField(max_length=45, blank=True, null=True)
37
    burst_dec = models.CharField(max_length=45, blank=True, null=True)
38
    equinox = models.CharField(max_length=45, blank=True, null=True)
39
    jd_pkt = models.IntegerField(blank=True, null=True)
40
    jd_send = models.IntegerField(blank=True, null=True)
41
    jd_received = models.IntegerField(blank=True, null=True)
42
    trigger_instrum = models.CharField(max_length=45, blank=True, null=True)
43
    trigger_num = models.CharField(max_length=45, blank=True, null=True)
44
    grb_error = models.CharField(max_length=45, blank=True, null=True)
45
    def_not_grb = models.IntegerField(blank=True, null=True)
46
    editor = models.CharField(max_length=45, blank=True, null=True)
47
    flag = models.CharField(max_length=45, blank=True, null=True)
48
    idgcn_notice = models.IntegerField(blank=True, null=True)
49

    
50
    class Meta:
51
        managed = True
52
        db_table = 'alert'
53

    
54
    def __str__(self):
55
        return (self.request.name)
56

    
57

    
58
class Country(models.Model):
59
    name = models.CharField(max_length=45, blank=True, null=True)
60
    desc = models.TextField(blank=True, null=True)
61
    quota = models.FloatField(blank=True, null=True)
62

    
63
    class Meta:
64
        managed = True
65
        db_table = 'country'
66

    
67
    def __str__(self):
68
        return (str(self.name))
69

    
70

    
71
class Detector(models.Model):
72
    device = models.OneToOneField('Device', models.CASCADE)
73
    telescope = models.ForeignKey('Telescope', models.DO_NOTHING, related_name="detectors")
74
    status = models.CharField(max_length=7, blank=True, null=True)
75
    nb_photo_x = models.IntegerField(blank=True, null=True)
76
    nb_photo_y = models.IntegerField(blank=True, null=True)
77
    photo_size_x = models.IntegerField(blank=True, null=True)
78
    photo_size_y = models.IntegerField(blank=True, null=True)
79
    has_shutter = models.IntegerField(blank=True, null=True)
80
    equivalent_foc_len = models.CharField(max_length=45, blank=True, null=True)
81
    acq_start = models.DateTimeField(blank=True, null=True)
82
    acq_stop = models.DateTimeField(blank=True, null=True)
83
    check_temp = models.FloatField(blank=True, null=True)
84
    gain = models.FloatField(blank=True, null=True)
85
    readout_noise = models.FloatField(blank=True, null=True)
86
    readout_time = models.FloatField(blank=True, null=True)
87
    idcam_readout_mode = models.IntegerField(blank=True, null=True)
88

    
89
    class Meta:
90
        managed = True
91
        db_table = 'detector'
92

    
93
    def __str__(self):
94
        return (self.device.name)
95

    
96
class Device(models.Model):
97
    name = models.CharField(max_length=45, blank=True, null=True)
98
    desc = models.TextField(blank=True, null=True)
99
    created = models.DateTimeField(blank=True, null=True)
100
    updated = models.DateTimeField(blank=True, null=True)
101
    is_online = models.IntegerField(blank=True, null=True)
102
    status = models.CharField(max_length=11, blank=True, null=True)
103
    maintenance_date = models.DateTimeField(blank=True, null=True)
104

    
105
    class Meta:
106
        managed = True
107
        db_table = 'device'
108

    
109
    def __str__(self):
110
        return (str(self.name))
111

    
112
class Filter(models.Model):
113
    device = models.OneToOneField(Device, models.CASCADE)
114
    detector = models.ForeignKey(Detector, models.DO_NOTHING, related_name="filters")
115
    category = models.CharField(max_length=1, blank=True, null=True)
116
    transmission_curve_doc = models.CharField(max_length=45, blank=True, null=True)
117

    
118
    class Meta:
119
        managed = True
120
        db_table = 'filter'
121

    
122
    def __str__(self):
123
        return (self.device.name)
124

    
125

    
126
class Image(models.Model):
127
    plan = models.ForeignKey('Plan', models.CASCADE, related_name="images")
128
    nrtanalysis = models.ForeignKey('NrtAnalysis', models.DO_NOTHING, blank=True, null=True, related_name="images")
129
    name = models.CharField(max_length=45, blank=True, null=True)
130
    desc = models.TextField(blank=True, null=True)
131
    created = models.DateTimeField(blank=True, null=True)
132
    updated = models.DateTimeField(blank=True, null=True)
133
    date_from_gps = models.CharField(max_length=45, blank=True, null=True)
134
    level = models.IntegerField(blank=True, null=True)
135
    type = models.CharField(max_length=5, blank=True, null=True)
136
    quality = models.CharField(max_length=45, blank=True, null=True)
137
    flaggps = models.CharField(max_length=45, blank=True, null=True)
138
    exposure = models.CharField(max_length=45, blank=True, null=True)
139
    tempext = models.CharField(max_length=45, blank=True, null=True)
140
    pressure = models.CharField(max_length=45, blank=True, null=True)
141
    humidext = models.CharField(max_length=45, blank=True, null=True)
142
    wind = models.CharField(max_length=45, blank=True, null=True)
143
    wind_dir = models.CharField(max_length=45, blank=True, null=True)
144
    dwnimg = models.CharField(max_length=45, blank=True, null=True)
145
    dwncata = models.CharField(max_length=45, blank=True, null=True)
146
    dwn = models.CharField(max_length=45, blank=True, null=True)
147
    level0_fits_name = models.CharField(max_length=45, blank=True, null=True)
148
    level1a_fits_name = models.CharField(max_length=45, blank=True, null=True)
149
    level1b_fits_name = models.CharField(max_length=45, blank=True, null=True)
150

    
151
    class Meta:
152
        managed = True
153
        db_table = 'image'
154

    
155
    def __str__(self):
156
        return (str(self.name))
157

    
158

    
159
class NrtAnalysis(models.Model):
160
    name = models.CharField(max_length=45, blank=True, null=True)
161
    desc = models.TextField(blank=True, null=True)
162
    created = models.DateTimeField(blank=True, null=True)
163
    updated = models.DateTimeField(blank=True, null=True)
164
    analysis = models.TextField(blank=True, null=True)
165

    
166
    class Meta:
167
        managed = True
168
        db_table = 'nrtanalysis'
169

    
170
    def __str__(self):
171
        return (str(self.name))
172

    
173

    
174
class Plan(models.Model):
175
    album = models.ForeignKey(Album, models.CASCADE, related_name="plans")
176
    filter = models.ForeignKey(Filter, models.DO_NOTHING, related_name="plans")
177
    name = models.CharField(max_length=45, blank=True, null=True)
178
    desc = models.CharField(max_length=45, blank=True, null=True)
179
    created = models.DateTimeField(blank=True, null=True)
180
    updated = models.DateTimeField(blank=True, null=True)
181
    duration = models.FloatField(blank=True, null=True)
182
    position = models.CharField(max_length=45, blank=True, null=True)
183
    exposure_time = models.FloatField(blank=True, null=True)
184
    nb_images = models.IntegerField(blank=True, null=True)
185
    dithering = models.IntegerField(blank=True, null=True)
186

    
187
    class Meta:
188
        managed = True
189
        db_table = 'plan'
190

    
191
    def __str__(self):
192
        return (str(self.name))
193

    
194

    
195
class Request(models.Model):
196
    user = models.ForeignKey('User', models.DO_NOTHING, related_name="requests")
197
    scientificprogram = models.ForeignKey('ScientificProgram', models.DO_NOTHING, related_name="requests")
198
    name = models.CharField(max_length=45, blank=True, null=True)
199
    desc = models.TextField(blank=True, null=True)
200
    created = models.DateTimeField(blank=True, null=True)
201
    updated = models.DateTimeField(blank=True, null=True)
202
    is_alert = models.IntegerField(blank=True, null=True)
203
    type = models.CharField(max_length=8, blank=True, null=True)
204
    status = models.CharField(max_length=10, blank=True, null=True)
205
    target_or_theme = models.CharField(max_length=45, blank=True, null=True)
206
    priority = models.IntegerField(blank=True, null=True)
207
    autodeposit = models.IntegerField(blank=True, null=True)
208
    checkpoint = models.CharField(max_length=45, blank=True, null=True)
209
    flag = models.CharField(max_length=45, blank=True, null=True)
210

    
211
    class Meta:
212
        managed = True
213
        db_table = 'request'
214

    
215
    def __str__(self):
216
        return (str(self.name))
217

    
218

    
219
class Schedule(models.Model):
220
    created = models.DateTimeField(blank=True, null=True)
221
    day_start = models.DateTimeField(blank=True, null=True)
222
    day_stop = models.DateTimeField(blank=True, null=True)
223
    flag = models.CharField(max_length=45, blank=True, null=True)
224

    
225
    class Meta:
226
        managed = True
227
        db_table = 'schedule'
228

    
229
    def __str__(self):
230
        return (str(self.created))
231

    
232

    
233
class ScheduleHistory(models.Model):
234
    sequences = models.ManyToManyField('Sequence', related_name='schedulehistorys')
235
    created = models.DateTimeField(blank=True, null=True)
236
    day_start = models.DateTimeField(blank=True, null=True)
237
    day_stop = models.DateTimeField(blank=True, null=True)
238
    flag = models.CharField(max_length=45, blank=True, null=True)
239

    
240
    class Meta:
241
        managed = True
242
        db_table = 'schedulehistory'
243

    
244
    def __str__(self):
245
        return (str(self.created))
246

    
247

    
248
class ScientificProgram(models.Model):
249
    users = models.ManyToManyField('User', related_name="scientificprograms") 
250
    name = models.CharField(max_length=45, blank=True, null=True)
251
    desc = models.TextField(blank=True, null=True)
252
    quota = models.FloatField(blank=True, null=True)
253
    priority = models.IntegerField(blank=True, null=True)
254

    
255
    class Meta:
256
        managed = True
257
        db_table = 'scientificprogram'
258

    
259
    def __str__(self):
260
        return (str(self.name))
261

    
262
class Sequence(models.Model):
263
    request = models.ForeignKey(Request, models.CASCADE, related_name="sequences")
264
    sequencetype = models.ForeignKey('SequenceType', models.DO_NOTHING, related_name="sequences")
265
    schedule = models.ForeignKey(Schedule, models.DO_NOTHING, related_name="sequences")
266
    name = models.CharField(max_length=45, blank=True, null=True)
267
    desc = models.TextField(blank=True, null=True)
268
    created = models.DateTimeField(blank=True, null=True)
269
    updated = models.DateTimeField(blank=True, null=True)
270
    is_alert = models.IntegerField(blank=True, null=True)
271
    status = models.CharField(max_length=11, blank=True, null=True)
272
    duration = models.FloatField(blank=True, null=True)
273
    pointing = models.CharField(max_length=45, blank=True, null=True)
274
    with_drift = models.IntegerField(blank=True, null=True)
275
    priority = models.IntegerField(blank=True, null=True)
276
    analysis_method = models.CharField(max_length=45, blank=True, null=True)
277
    exec_start = models.DateTimeField()
278
    exec_stop = models.DateTimeField(blank=True, null=True)
279
    moon_min = models.IntegerField(blank=True, null=True)
280
    alt_min = models.IntegerField(blank=True, null=True)
281
    type = models.CharField(max_length=6, blank=True, null=True)
282
    img_current = models.CharField(max_length=45, blank=True, null=True)
283
    img_total = models.CharField(max_length=45, blank=True, null=True)
284
    not_obs = models.IntegerField(blank=True, null=True)
285
    obsolete = models.IntegerField(blank=True, null=True)
286
    processing = models.IntegerField(blank=True, null=True)
287
    flag = models.CharField(max_length=45, blank=True, null=True)
288

    
289
    class Meta:
290
        managed = True
291
        db_table = 'sequence'
292

    
293
    def __str__(self):
294
        return (str(self.name))
295

    
296

    
297
class SequenceType(models.Model):
298
    name = models.CharField(max_length=45, blank=True, null=True)
299
    desc = models.TextField(blank=True, null=True)
300
    priority = models.IntegerField(blank=True, null=True)
301

    
302
    class Meta:
303
        managed = True
304
        db_table = 'sequencetype'
305

    
306
    def __str__(self):
307
        return (str(self.name))
308

    
309

    
310
class SiteWatch(models.Model):
311
    updated = models.DateTimeField(blank=True, null=True)
312
    lights = models.CharField(max_length=45, blank=True, null=True)
313
    dome = models.CharField(max_length=45, blank=True, null=True)
314
    doors = models.CharField(max_length=45, blank=True, null=True)
315
    temperature = models.FloatField(blank=True, null=True)
316

    
317
    class Meta:
318
        managed = True
319
        db_table = 'sitewatch'
320

    
321
    def __str__(self):
322
        return (str(self.updated))
323

    
324

    
325
class SiteWatchHistory(models.Model):
326
    id = models.IntegerField(primary_key=True)
327

    
328
    class Meta:
329
        managed = True
330
        db_table = 'sitewatchhistory'
331

    
332

    
333
class StrategyObs(models.Model):
334
    name = models.CharField(max_length=45, blank=True, null=True)
335
    desc = models.TextField(blank=True, null=True)
336
    json_file = models.CharField(max_length=45, blank=True, null=True)
337

    
338
    class Meta:
339
        managed = True
340
        db_table = 'strategyobs'
341

    
342
    def __str__(self):
343
        return (str(self.name))
344

    
345

    
346
class Telescope(models.Model):
347
    device = models.OneToOneField(Device, models.CASCADE)
348
    mount_type = models.CharField(max_length=9, blank=True, null=True)
349
    diameter = models.FloatField(blank=True, null=True)
350
    status = models.CharField(max_length=45, blank=True, null=True)
351
    latitude = models.FloatField(blank=True, null=True)
352
    longitude = models.FloatField(blank=True, null=True)
353
    sens = models.CharField(max_length=1, blank=True, null=True)
354
    altitude = models.FloatField(blank=True, null=True)
355
    readout_time = models.IntegerField(blank=True, null=True)
356
    slew_time = models.IntegerField(blank=True, null=True)
357
    slew_dead = models.IntegerField(blank=True, null=True)
358
    slew_rate_max = models.FloatField(blank=True, null=True)
359
    horizon_type = models.CharField(max_length=45, blank=True, null=True)
360
    horizon_def = models.FloatField(blank=True, null=True)
361
    lim_dec_max = models.FloatField(blank=True, null=True)
362
    lim_dec_min = models.FloatField(blank=True, null=True)
363
    lim_ha_rise = models.FloatField(blank=True, null=True)
364
    lim_ha_set = models.FloatField(blank=True, null=True)
365
    address = models.CharField(max_length=45, blank=True, null=True)
366
    night_elev_sun = models.FloatField(blank=True, null=True)
367
    mpc_code = models.CharField(max_length=45, blank=True, null=True)
368

    
369
    class Meta:
370
        managed = True
371
        db_table = 'telescope'
372

    
373
    def __str__(self):
374
        return (self.device.name)
375

    
376

    
377
class User(models.Model):
378
    country = models.ForeignKey(Country, models.DO_NOTHING, related_name="users")
379
    userlevel = models.ForeignKey('UserLevel', models.DO_NOTHING, related_name="users")
380
    name = models.CharField(max_length=45, blank=True, null=True)
381
    desc = models.TextField(blank=True, null=True)
382
    created = models.DateTimeField(blank=True, null=True)
383
    updated = models.DateTimeField(blank=True, null=True)
384
    firstname = models.CharField(max_length=45, blank=True, null=True)
385
    email = models.CharField(max_length=45, blank=True, null=True)
386
    url = models.CharField(max_length=45, blank=True, null=True)
387
    tel1 = models.CharField(max_length=45, blank=True, null=True)
388
    tel2 = models.CharField(max_length=45, blank=True, null=True)
389
    address = models.CharField(max_length=45, blank=True, null=True)
390
    login = models.CharField(max_length=15, blank=True, null=True)
391
    pass_field = models.CharField(db_column='pass', max_length=45, blank=True, null=True)  # Field renamed because it was a Python reserved word.
392
    last_connect = models.DateTimeField(blank=True, null=True)
393
    cur_connect = models.DateTimeField(blank=True, null=True)
394
    putvalid_beg = models.DateTimeField(blank=True, null=True)
395
    putvalid_end = models.DateTimeField(blank=True, null=True)
396
    acqvalid_beg = models.CharField(max_length=45, blank=True, null=True)
397
    acqvalid_end = models.CharField(max_length=45, blank=True, null=True)
398
    quota = models.FloatField(blank=True, null=True)
399
    quota_rea = models.FloatField(blank=True, null=True)
400
    u_priority = models.IntegerField(blank=True, null=True)
401
    p_priority = models.IntegerField(blank=True, null=True)
402
    dir_level = models.IntegerField(blank=True, null=True)
403
    can_del_void_req = models.IntegerField(blank=True, null=True)
404

    
405
    class Meta:
406
        managed = True
407
        db_table = 'user'
408

    
409
    def __str__(self):
410
        return (str(self.name))
411

    
412

    
413
class UserLevel(models.Model):
414
    name = models.CharField(max_length=45, blank=True, null=True)
415
    desc = models.TextField(blank=True, null=True)
416
    priority = models.IntegerField(blank=True, null=True)
417
    quota = models.FloatField(blank=True, null=True)
418

    
419
    class Meta:
420
        managed = True
421
        db_table = 'userlevel'
422

    
423
    def __str__(self):
424
        return (str(self.name))
425

    
426

    
427
class WeatherWatch(models.Model):
428
    updated = models.DateTimeField(blank=True, null=True)
429
    humid_int = models.FloatField(blank=True, null=True)
430
    humid_ext = models.FloatField(blank=True, null=True)
431
    wind = models.FloatField(blank=True, null=True)
432
    wind_dir = models.CharField(max_length=1, blank=True, null=True)
433
    temp_int = models.FloatField(blank=True, null=True)
434
    temp_ext = models.FloatField(blank=True, null=True)
435
    pressure = models.FloatField(blank=True, null=True)
436
    rain = models.FloatField(blank=True, null=True)
437
    dwn = models.CharField(max_length=45, blank=True, null=True)
438

    
439
    class Meta:
440
        managed = True
441
        db_table = 'weatherwatch'
442

    
443
    def __str__(self):
444
        return (str(self.updated))
445

    
446

    
447
class WeatherWatchHistory(models.Model):
448
    datetime = models.DateTimeField(blank=True, null=True)
449
    humid_int = models.CharField(max_length=45, blank=True, null=True)
450
    humid_ext = models.CharField(max_length=45, blank=True, null=True)
451
    wind = models.CharField(max_length=45, blank=True, null=True)
452
    wind_dir = models.CharField(max_length=45, blank=True, null=True)
453
    temp_int = models.CharField(max_length=45, blank=True, null=True)
454
    temp_ext = models.CharField(max_length=45, blank=True, null=True)
455
    pressure = models.CharField(max_length=45, blank=True, null=True)
456
    rain = models.CharField(max_length=45, blank=True, null=True)
457
    dwn = models.CharField(max_length=45, blank=True, null=True)
458

    
459
    class Meta:
460
        managed = True
461
        db_table = 'weatherwatchhistory'
462

    
463
    def __str__(self):
464
        return (str(self.datetime))