0001_initial.py 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # Generated by Django 4.1.2 on 2025-08-08 17:01
  2. from django.db import migrations, models
  3. import django.db.models.deletion
  4. class Migration(migrations.Migration):
  5. initial = True
  6. dependencies = [
  7. ('userprofile', '0002_alter_academicprofile_department_and_more'),
  8. ]
  9. operations = [
  10. migrations.CreateModel(
  11. name='DutyRoster',
  12. fields=[
  13. ('duty_id', models.AutoField(primary_key=True, serialize=False, verbose_name='轮值ID')),
  14. ('start_date', models.DateField(verbose_name='开始日期')),
  15. ('end_date', models.DateField(verbose_name='结束日期')),
  16. ('status', models.CharField(choices=[('ACT', '进行中'), ('UP', '即将开始'), ('COM', '已完成')], default='UP', max_length=3, verbose_name='状态')),
  17. ('todo_items', models.TextField(blank=True, null=True, verbose_name='本周待办事项')),
  18. ('notes', models.TextField(blank=True, null=True, verbose_name='教研室注意事项')),
  19. ('cleaning_schedule', models.TextField(blank=True, null=True, verbose_name='打扫卫生安排')),
  20. ('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
  21. ('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
  22. ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='duty_rosters', to='userprofile.users', verbose_name='轮值同学')),
  23. ],
  24. options={
  25. 'verbose_name': '轮值信息',
  26. 'verbose_name_plural': '轮值信息',
  27. 'db_table': 'duty_roster',
  28. 'ordering': ['-start_date'],
  29. },
  30. ),
  31. migrations.CreateModel(
  32. name='Meeting',
  33. fields=[
  34. ('meeting_id', models.AutoField(primary_key=True, serialize=False, verbose_name='组会ID')),
  35. ('title', models.CharField(max_length=200, verbose_name='组会名称')),
  36. ('meeting_type', models.CharField(choices=[('ON', '线上'), ('OFF', '线下'), ('HYB', '混合')], default='ON', max_length=3, verbose_name='会议形式')),
  37. ('type_desc', models.CharField(blank=True, max_length=200, null=True, verbose_name='会议类型描述')),
  38. ('location', models.CharField(blank=True, max_length=200, null=True, verbose_name='会议地点')),
  39. ('online_link', models.URLField(blank=True, null=True, verbose_name='线上地址')),
  40. ('meeting_time', models.DateTimeField(verbose_name='会议时间')),
  41. ('summary', models.TextField(blank=True, null=True, verbose_name='会议纪要')),
  42. ('summary_doc_id', models.CharField(blank=True, max_length=100, null=True, verbose_name='OnlyOffice文档ID')),
  43. ('published', models.BooleanField(default=False, verbose_name='已发布')),
  44. ('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
  45. ('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
  46. ('duty_roster', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='meetings', to='groupMeeting.dutyroster', verbose_name='关联轮值')),
  47. ],
  48. options={
  49. 'verbose_name': '组会',
  50. 'verbose_name_plural': '组会',
  51. 'db_table': 'meeting',
  52. 'ordering': ['-meeting_time'],
  53. },
  54. ),
  55. ]