0001_initial.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # Generated by Django 5.2.7 on 2025-10-07 16:45
  2. import django.db.models.deletion
  3. from django.db import migrations, models
  4. class Migration(migrations.Migration):
  5. initial = True
  6. dependencies = [
  7. ]
  8. operations = [
  9. migrations.CreateModel(
  10. name='Product',
  11. fields=[
  12. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  13. ('sku', models.CharField(max_length=100, unique=True)),
  14. ('category', models.CharField(max_length=100)),
  15. ('title', models.TextField()),
  16. ('description', models.TextField(blank=True)),
  17. ('attributes', models.JSONField(default=dict)),
  18. ('created_at', models.DateTimeField(auto_now_add=True)),
  19. ('updated_at', models.DateTimeField(auto_now=True)),
  20. ],
  21. ),
  22. migrations.CreateModel(
  23. name='CategoryAttributeRule',
  24. fields=[
  25. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  26. ('category', models.CharField(max_length=100)),
  27. ('attribute_name', models.CharField(max_length=100)),
  28. ('is_mandatory', models.BooleanField(default=False)),
  29. ('valid_values', models.JSONField(blank=True, default=list)),
  30. ('data_type', models.CharField(default='string', max_length=50)),
  31. ],
  32. options={
  33. 'unique_together': {('category', 'attribute_name')},
  34. },
  35. ),
  36. migrations.CreateModel(
  37. name='AttributeScore',
  38. fields=[
  39. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  40. ('score', models.FloatField()),
  41. ('max_score', models.FloatField(default=100.0)),
  42. ('details', models.JSONField(default=dict)),
  43. ('issues', models.JSONField(default=list)),
  44. ('suggestions', models.JSONField(default=list)),
  45. ('created_at', models.DateTimeField(auto_now_add=True)),
  46. ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attribute_scores', to='core.product')),
  47. ],
  48. ),
  49. ]