123456789101112131415161718192021222324252627282930313233 |
- from django.db import models
- from django.core.validators import MaxValueValidator
- class Payment(models.Model):
- TRANSFERT = 0
- WITHDRAWAL = 1
- PAYMENT_CHOICES = (
- (TRANSFERT, 'Virement'),
- (WITHDRAWAL, 'Prélèvement'),
- )
- amount = models.DecimalField(max_digits=9, decimal_places=2, verbose_name='Montant')
- period = models.PositiveIntegerField(validators=[MaxValueValidator(12)], verbose_name='Période')
- payment_method = models.IntegerField(choices=PAYMENT_CHOICES, verbose_name='Méthode de paiement')
- date = models.DateField(verbose_name='Date de paiement ou de début de paiement')
- class Meta:
- verbose_name = 'paiement'
- def __str__(self):
- s = str(self.amount) + '€'
- if self.period:
- if self.period == 1:
- s += '/mois'
- elif self.period == 12:
- s += '/an'
- else:
- s += '/%d mois' % self.period
- if self.payment_method == self.TRANSFERT:
- s += ' (virement)'
- elif self.payment_method == self.WITHDRAWAL:
- s += ' (prélèvement)'
- return s
|