0001_initial.py 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. # Generated by Django 5.2.3 on 2025-07-15 08:45
  2. import django.db.models.deletion
  3. import django.utils.timezone
  4. from django.db import migrations, models
  5. class Migration(migrations.Migration):
  6. initial = True
  7. dependencies = [
  8. ]
  9. operations = [
  10. migrations.CreateModel(
  11. name='device',
  12. fields=[
  13. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  14. ('device_type', models.CharField(default='ADC', max_length=100)),
  15. ('brend', models.CharField(default='Picoscope', max_length=100)),
  16. ('serial_model', models.CharField(default='PS400A', max_length=100)),
  17. ('proto', models.CharField(default='TCP', max_length=100)),
  18. ('proto_interface', models.CharField(default='adc_default', max_length=100)),
  19. ('time_creation', models.DateTimeField(default=django.utils.timezone.now)),
  20. ('time_publication', models.DateTimeField(blank=True, null=True)),
  21. ],
  22. ),
  23. migrations.CreateModel(
  24. name='device_state',
  25. fields=[
  26. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  27. ('status', models.CharField(default='', max_length=100)),
  28. ('code', models.BigIntegerField(default=0)),
  29. ],
  30. ),
  31. migrations.CreateModel(
  32. name='measurement',
  33. fields=[
  34. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  35. ],
  36. ),
  37. migrations.CreateModel(
  38. name='adc_params',
  39. fields=[
  40. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  41. ('srate', models.PositiveIntegerField()),
  42. ('points', models.JSONField(blank=True, default=list, help_text='Массив целых чисел в формате JSON', null=True)),
  43. ('n_channels', models.PositiveIntegerField()),
  44. ('channel_ranges', models.JSONField(blank=True, default=list, help_text='Массив целых чисел в формате JSON', null=True)),
  45. ('n_triggers', models.PositiveIntegerField()),
  46. ('trigger_channel', models.PositiveIntegerField()),
  47. ('threshold', models.IntegerField()),
  48. ('trig_direction', models.IntegerField()),
  49. ('auto_measure_time', models.PositiveIntegerField()),
  50. ('enabled', models.BooleanField(default=True)),
  51. ('device', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='adc_params', to='spectrometer.device')),
  52. ],
  53. ),
  54. migrations.CreateModel(
  55. name='gra_params',
  56. fields=[
  57. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  58. ('ip', models.GenericIPAddressField(default='127.0.0.1')),
  59. ('file', models.CharField()),
  60. ('enabled', models.BooleanField(default=True)),
  61. ('device', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='gra_params', to='spectrometer.device')),
  62. ],
  63. ),
  64. migrations.CreateModel(
  65. name='measurement_data',
  66. fields=[
  67. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  68. ('data_num', models.IntegerField(default=0)),
  69. ('measurement', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='measurement_data1', to='spectrometer.measurement')),
  70. ],
  71. ),
  72. migrations.CreateModel(
  73. name='channel_data',
  74. fields=[
  75. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  76. ('channel_num', models.IntegerField(default=0)),
  77. ('channel_data', models.TextField(default='')),
  78. ('measurement_data', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='measurement_data1', to='spectrometer.measurement_data')),
  79. ],
  80. ),
  81. migrations.CreateModel(
  82. name='measurement_info',
  83. fields=[
  84. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  85. ('infostr', models.CharField(default='str', max_length=100)),
  86. ('time', models.DateTimeField(default=django.utils.timezone.now)),
  87. ('iadc', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='measurement_info6', to='spectrometer.adc_params')),
  88. ('igrax', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='measurement_info3', to='spectrometer.gra_params')),
  89. ('igray', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='measurement_info2', to='spectrometer.gra_params')),
  90. ('igraz', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='measurement_info1', to='spectrometer.gra_params')),
  91. ],
  92. ),
  93. migrations.AddField(
  94. model_name='measurement',
  95. name='info',
  96. field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='measurement2', to='spectrometer.measurement_info'),
  97. ),
  98. migrations.CreateModel(
  99. name='sdr_params',
  100. fields=[
  101. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  102. ('srate', models.PositiveIntegerField(default=2000000)),
  103. ('freq', models.PositiveIntegerField(default=3000000)),
  104. ('gain', models.PositiveIntegerField(default=35)),
  105. ('ampl', models.BooleanField(default=True)),
  106. ('file', models.CharField()),
  107. ('device', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='sdr_params', to='spectrometer.device')),
  108. ],
  109. ),
  110. migrations.AddField(
  111. model_name='measurement_info',
  112. name='isdr',
  113. field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='measurement_info4', to='spectrometer.sdr_params'),
  114. ),
  115. migrations.CreateModel(
  116. name='state',
  117. fields=[
  118. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  119. ('id_measurement', models.IntegerField(default=0)),
  120. ('status', models.CharField(default='default', max_length=100)),
  121. ('code', models.BigIntegerField(default=0)),
  122. ('data_ready', models.BooleanField(default=False)),
  123. ('adc', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='state6', to='spectrometer.device_state')),
  124. ('grax', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='state3', to='spectrometer.device_state')),
  125. ('gray', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='state2', to='spectrometer.device_state')),
  126. ('graz', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='state1', to='spectrometer.device_state')),
  127. ('sdr', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='state4', to='spectrometer.device_state')),
  128. ('sync', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='state5', to='spectrometer.device_state')),
  129. ],
  130. ),
  131. migrations.AddField(
  132. model_name='measurement',
  133. name='state',
  134. field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='measurement1', to='spectrometer.state'),
  135. ),
  136. migrations.CreateModel(
  137. name='sync_params',
  138. fields=[
  139. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  140. ('file', models.CharField(default='Sync_params.xml', max_length=100)),
  141. ('port', models.IntegerField(default=7)),
  142. ('device', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='sync_params', to='spectrometer.device')),
  143. ],
  144. ),
  145. migrations.AddField(
  146. model_name='measurement_info',
  147. name='isync',
  148. field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='measurement_info5', to='spectrometer.sync_params'),
  149. ),
  150. ]