0001_initial.py 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. # -*- coding: utf-8 -*-
  2. from __future__ import unicode_literals
  3. from django.db import models, migrations
  4. import datetime
  5. import costs.validators
  6. class Migration(migrations.Migration):
  7. dependencies = [
  8. ]
  9. operations = [
  10. migrations.CreateModel(
  11. name='Cost',
  12. fields=[
  13. ('id', models.AutoField(verbose_name='ID', auto_created=True, serialize=False, primary_key=True)),
  14. ('name', models.CharField(max_length=130)),
  15. ('description', models.TextField(blank=True)),
  16. ('price', models.PositiveIntegerField(help_text='Coût mensuel')),
  17. ],
  18. options={
  19. 'verbose_name': 'Coût',
  20. },
  21. ),
  22. migrations.CreateModel(
  23. name='CostUse',
  24. fields=[
  25. ('id', models.AutoField(verbose_name='ID', auto_created=True, serialize=False, primary_key=True)),
  26. ('share', models.FloatField(validators=[costs.validators.less_than_one])),
  27. ('resource', models.ForeignKey(to='costs.Cost')),
  28. ],
  29. options={
  30. 'abstract': False,
  31. },
  32. ),
  33. migrations.CreateModel(
  34. name='Good',
  35. fields=[
  36. ('id', models.AutoField(verbose_name='ID', auto_created=True, serialize=False, primary_key=True)),
  37. ('name', models.CharField(max_length=130)),
  38. ('description', models.TextField(blank=True)),
  39. ('price', models.PositiveIntegerField(help_text="Prix d'achat")),
  40. ('provisioning_duration', models.DurationField(choices=[(datetime.timedelta(1095), '3 ans'), (datetime.timedelta(1825), '5 ans')])),
  41. ],
  42. options={
  43. 'verbose_name': 'Bien',
  44. },
  45. ),
  46. migrations.CreateModel(
  47. name='GoodUse',
  48. fields=[
  49. ('id', models.AutoField(verbose_name='ID', auto_created=True, serialize=False, primary_key=True)),
  50. ('share', models.FloatField(validators=[costs.validators.less_than_one])),
  51. ('resource', models.ForeignKey(to='costs.Good')),
  52. ],
  53. options={
  54. 'abstract': False,
  55. },
  56. ),
  57. migrations.CreateModel(
  58. name='Service',
  59. fields=[
  60. ('id', models.AutoField(verbose_name='ID', auto_created=True, serialize=False, primary_key=True)),
  61. ('name', models.CharField(max_length=130)),
  62. ('description', models.TextField(blank=True)),
  63. ('costs', models.ManyToManyField(through='costs.CostUse', related_name='using_services', to='costs.Cost')),
  64. ('goods', models.ManyToManyField(through='costs.GoodUse', related_name='using_services', to='costs.Good')),
  65. ],
  66. options={
  67. 'abstract': False,
  68. },
  69. ),
  70. migrations.AddField(
  71. model_name='gooduse',
  72. name='service',
  73. field=models.ForeignKey(to='costs.Service'),
  74. ),
  75. migrations.AddField(
  76. model_name='costuse',
  77. name='service',
  78. field=models.ForeignKey(to='costs.Service'),
  79. ),
  80. ]