暫無描述

models.py 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from django.db import models
  2. from datetime import datetime
  3. from babel.dates import format_timedelta
  4. from django.contrib.auth.models import User
  5. # Create your models here.
  6. class Counter(models.Model):
  7. name = models.CharField("Nom", max_length=60)
  8. email = models.EmailField("Email", max_length=264,
  9. default="null@localhost")
  10. trigramme = models.CharField("Trigramme", max_length=3)
  11. user = models.ForeignKey(User, blank=True, null=True)
  12. email_notifications = models.BooleanField(
  13. "Notifications par email", default=False)
  14. def __str__(self):
  15. return "%s (%s)" % (self.trigramme, self.name)
  16. class Meta:
  17. verbose_name = "Compteur"
  18. class Reset(models.Model):
  19. timestamp = models.DateTimeField("Date et heure", auto_now_add=True)
  20. reason = models.TextField("Raison")
  21. counter = models.ForeignKey('Counter', related_name='counter')
  22. who = models.ForeignKey('Counter', related_name='who',
  23. blank=True, null=True, default=None)
  24. def __str__(self):
  25. return "%s : %s (%s)" % (self.counter,
  26. format_timedelta(
  27. datetime.now() -
  28. self.timestamp.replace(tzinfo=None),
  29. locale='fr'), self.reason)
  30. class Meta:
  31. verbose_name = "Remise à zéro"
  32. verbose_name_plural = "Remises à zéro"