models.py 917 B

123456789101112131415161718192021222324252627
  1. from django.db import models
  2. from django.core.validators import MaxValueValidator
  3. class Payment(models.Model):
  4. TRANSFERT = 0
  5. WITHDRAWAL = 1
  6. PAYMENT_CHOICES = (
  7. (TRANSFERT, 'Virement'),
  8. (WITHDRAWAL, 'Prélèvement'),
  9. )
  10. amount = models.DecimalField(max_digits=9, decimal_places=2, verbose_name='Montant')
  11. period = models.PositiveIntegerField(validators=[MaxValueValidator(12)], verbose_name='Période')
  12. payment_method = models.IntegerField(choices=PAYMENT_CHOICES, verbose_name='Méthode de paiement')
  13. class Meta:
  14. verbose_name = 'paiement'
  15. def __str__(self):
  16. s = str(self.amount) + '€'
  17. if self.period:
  18. s += '%d/mois' % self.period
  19. if self.payment_method == self.TRANSFERT:
  20. s += ' (virement)'
  21. elif self.payment_method == self.WITHDRAWAL:
  22. s += ' (prélèvement)'
  23. return s