예제 #1
0
class EducationalOpportunity(models.Model):
    id = models.UUIDField(default=uuid.uuid4, primary_key=True)
    scales = ArrayField(size=6, validators=[MinLengthValidator(6), MinLengthValidator(6)],
                        base_field=models.IntegerField(validators=[MinValueValidator(0), MaxValueValidator(100)]))
    activity = models.CharField(max_length=50)

    objects = EducationalOpportunityManager()
예제 #2
0
class Transaction(models.Model):
    amount = models.IntegerField(blank=False)
    track_id = models.CharField(blank=False, unique=True, max_length=20)
    is_deposit = models.BooleanField(default=True)
    recipient_has_wallet = models.BooleanField(default=True)
    status = models.CharField(choices=TRANSACTION_STATUSES, default='new', max_length=100)
    recipient = models.CharField(validators=[MinLengthValidator(9)], max_length=14)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    mobile_wallet = models.ForeignKey(MobileWallet, on_delete=models.CASCADE)
    recipient_operator = models.ForeignKey(Operator, on_delete=models.CASCADE, null=True, blank=True)
    history = models.CharField(null=True, max_length=255)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        ordering = ('-updated_at',)

    def __str__(self):
        return str(self.amount) + ' FCFA to ' + self.recipient +' '+ self.status

    def display_proof(self):
        """Create a string for the Genre. This is required to display genre in Admin."""
        return ', '.join(p.mno_id for p in self.proof_set.all())

    display_proof.short_description = 'MNO ID'
예제 #3
0
 def __init__(self, **kwargs):
     self.allow_blank = kwargs.pop('allow_blank', False)
     max_length = kwargs.pop('max_length', None)
     min_length = kwargs.pop('min_length', None)
     super(CharField, self).__init__(**kwargs)
     if max_length is not None:
         message = self.error_messages['max_length'].format(max_length=max_length)
         self.validators.append(MaxLengthValidator(max_length, message=message))
     if min_length is not None:
         message = self.error_messages['min_length'].format(min_length=min_length)
         self.validators.append(MinLengthValidator(min_length, message=message))
    def __init__(self, max_length=14, min_length=11, **kwargs):
        self.allow_blank = kwargs.get('allow_blank', False)
        self.max_length = kwargs.get('max_length', None)
        self.min_length = kwargs.get('min_length', None)
        super(BRCPFField, self).__init__(**kwargs)
        if self.max_length is not None:
            message = self.error_messages['max_length'].format(
                max_length=self.max_length)
            self.validators.append(
                MaxLengthValidator(self.max_length, message=message))

        if self.min_length is not None:
            message = self.error_messages['min_length'].format(
                min_length=self.min_length)
            self.validators.append(
                MinLengthValidator(self.min_length, message=message))
예제 #5
0
파일: fields.py 프로젝트: tomsovic/Learn
 def __init__(self, **kwargs):
     self.allow_blank = kwargs.pop('allow_blank', False)
     self.trim_whitespace = kwargs.pop('trim_whitespace', True)
     self.max_length = kwargs.pop('max_length', None)
     self.min_length = kwargs.pop('min_length', None)
     self.split_flag = kwargs.pop('split_flag', True)
     super(IdsSplitField, self).__init__(**kwargs)
     if self.max_length is not None:
         message = lazy(self.error_messages['max_length'].format,
                        six.text_type)(max_length=self.max_length)
         self.validators.append(
             MaxLengthValidator(self.max_length, message=message))
     if self.min_length is not None:
         message = lazy(self.error_messages['min_length'].format,
                        six.text_type)(min_length=self.min_length)
         self.validators.append(
             MinLengthValidator(self.min_length, message=message))
예제 #6
0
class Station(models.Model):
    name = models.CharField(max_length=100, blank=False)
    is_merchant = models.BooleanField(default=True)
    state = models.CharField(choices=STATION_STATES,
                             default='offline',
                             max_length=100)
    phone_number = models.CharField(validators=[MinLengthValidator(9)],
                                    max_length=14,
                                    blank=False)
    imei = models.CharField(unique=True, max_length=20, null=True, blank=True)
    imsi = models.CharField(max_length=20)
    port = models.CharField(max_length=20, null=True, blank=True)
    operator = models.ForeignKey(Operator,
                                 on_delete=models.CASCADE,
                                 related_name='stations')
    modem = models.ForeignKey(Modem,
                              on_delete=models.CASCADE,
                              null=False,
                              blank=False,
                              related_name='stations')
    description = models.TextField(blank=True)
    services = models.ManyToManyField(Service, through='ServiceStation')
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        ordering = ('updated_at', )
        unique_together = ((
            'phone_number',
            'modem',
        ), (
            'port',
            'modem',
        ))

    def __str__(self):
        return self.name + " " + self.phone_number + " " + self.operator.name + " " + self.modem.name