0011_move_objectchange.py 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import django.db.models.deletion
  2. from django.conf import settings
  3. from django.db import migrations, models
  4. class Migration(migrations.Migration):
  5. dependencies = [
  6. ('contenttypes', '0002_remove_content_type_name'),
  7. ('core', '0010_gfk_indexes'),
  8. migrations.swappable_dependency(settings.AUTH_USER_MODEL),
  9. ]
  10. operations = [
  11. migrations.SeparateDatabaseAndState(
  12. state_operations=[
  13. migrations.CreateModel(
  14. name='ObjectChange',
  15. fields=[
  16. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False)),
  17. ('time', models.DateTimeField(auto_now_add=True, db_index=True)),
  18. ('user_name', models.CharField(editable=False, max_length=150)),
  19. ('request_id', models.UUIDField(db_index=True, editable=False)),
  20. ('action', models.CharField(max_length=50)),
  21. ('changed_object_id', models.PositiveBigIntegerField()),
  22. ('related_object_id', models.PositiveBigIntegerField(blank=True, null=True)),
  23. ('object_repr', models.CharField(editable=False, max_length=200)),
  24. ('prechange_data', models.JSONField(blank=True, editable=False, null=True)),
  25. ('postchange_data', models.JSONField(blank=True, editable=False, null=True)),
  26. (
  27. 'changed_object_type',
  28. models.ForeignKey(
  29. on_delete=django.db.models.deletion.PROTECT,
  30. related_name='+',
  31. to='contenttypes.contenttype',
  32. ),
  33. ),
  34. (
  35. 'related_object_type',
  36. models.ForeignKey(
  37. blank=True,
  38. null=True,
  39. on_delete=django.db.models.deletion.PROTECT,
  40. related_name='+',
  41. to='contenttypes.contenttype',
  42. ),
  43. ),
  44. (
  45. 'user',
  46. models.ForeignKey(
  47. blank=True,
  48. null=True,
  49. on_delete=django.db.models.deletion.SET_NULL,
  50. related_name='changes',
  51. to=settings.AUTH_USER_MODEL,
  52. ),
  53. ),
  54. ],
  55. options={
  56. 'verbose_name': 'object change',
  57. 'verbose_name_plural': 'object changes',
  58. 'ordering': ['-time'],
  59. 'indexes': [
  60. models.Index(
  61. fields=['changed_object_type', 'changed_object_id'],
  62. name='core_object_changed_c227ce_idx',
  63. ),
  64. models.Index(
  65. fields=['related_object_type', 'related_object_id'],
  66. name='core_object_related_3375d6_idx',
  67. ),
  68. ],
  69. },
  70. ),
  71. ],
  72. # Table has been renamed from 'extras' app
  73. database_operations=[],
  74. ),
  75. ]