models.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from __future__ import unicode_literals
  2. from django.db import models
  3. from .fields import CommaSeparatedCharField
  4. class Contrib(models.Model):
  5. id = models.AutoField(primary_key=True, blank=False, null=False)
  6. name = models.TextField()
  7. contrib_type = models.CharField(
  8. max_length=10, choices=(
  9. ('connect', 'Me raccorder au réseau expérimental'),
  10. ('share', 'Partager une partie de ma connexion')
  11. ))
  12. latitude = models.FloatField(blank=True, null=True)
  13. longitude = models.FloatField(blank=True, null=True)
  14. phone = models.TextField(blank=True, null=True)
  15. email = models.EmailField(blank=True)
  16. access_type = models.CharField(
  17. max_length=10, blank=True, choices=(
  18. ('vdsl', 'ADSL'),
  19. ('vdsl', 'VDSL'),
  20. ('fiber', 'Fibre optique'),
  21. ('cable', 'Coaxial (FTTLA)'),
  22. ))
  23. connect_local = models.NullBooleanField(default=False, null=True)
  24. connect_internet = models.NullBooleanField(default=False, null=True)
  25. bandwidth = models.FloatField(blank=True, null=True)
  26. share_part = models.FloatField(blank=True, null=True)
  27. floor = models.PositiveIntegerField(blank=True, null=True)
  28. floor_total = models.PositiveIntegerField(blank=True, null=True)
  29. orientations = CommaSeparatedCharField(
  30. blank=True, null=True, max_length=100)
  31. roof = models.BooleanField(default=False)
  32. comment = models.TextField(blank=True, null=True)
  33. privacy_name = models.BooleanField(default=False)
  34. privacy_email = models.BooleanField(default=False)
  35. privacy_coordinates = models.BooleanField(default=True)
  36. privacy_place_details = models.BooleanField(default=True)
  37. privacy_comment = models.BooleanField(default=False)
  38. date = models.DateTimeField(auto_now_add=True)
  39. class Meta:
  40. managed = True
  41. db_table = 'contribs'