def test_include_countries_model_field(self): iban_model_field = IBANField(countries=self.include_countries) for input, output in self.include_countries_valid.items(): self.assertEqual(iban_model_field.clean(input, None), output) # Invalid inputs for model field. for input, errors in self.include_countries_invalid.items(): with self.assertRaises(ValidationError) as context_manager: iban_model_field.clean(input, None) self.assertEqual(context_manager.exception.messages, errors[::-1])
def test_model_field(self): iban_model_field = IBANField() for input, output in self.valid.items(): self.assertEqual(iban_model_field.clean(input, None), output) # Invalid inputs for model field. for input, errors in self.invalid.items(): with self.assertRaises(ValidationError) as context_manager: iban_model_field.clean(input, None) # We can't check against minimum length here :( if input == '123456': self.assertEqual(context_manager.exception.messages, errors[0:1]) else: # The error messages for models are in a different order. self.assertEqual(context_manager.exception.messages, errors[::-1])
class Fournisseur(models.Model): id_fournisseur = models.AutoField(primary_key=True) name = models.CharField(max_length=45, default='') TVA_number = VATNumberField(default="BE0000000000", eu_only=True) iban = IBANField(countries=None, sepa_only=True) country = CountryField(default="BE") street = models.CharField(max_length=100, default='') city = models.CharField(max_length=45, default='') postcode = models.IntegerField(blank=True, null=True) contact_lastname = models.CharField(max_length=45, blank=True, null=True) contact_firstname = models.CharField(max_length=45, blank=True, null=True) email = models.EmailField(max_length=256, blank=True, null=True) id_user = models.ForeignKey('User', models.DO_NOTHING, db_column='id', default=None) class Meta: managed = True db_table = 'Fournisseurs' unique_together = (('name', 'TVA_number', 'iban'), )
class AbstractBankAccount(models.Model): person = models.ForeignKey( 'oscar_ficta.Person', verbose_name=_("Owner's juristic person"), related_name="bank_accounts") bank = models.ForeignKey( 'oscar_ficta.Bank', verbose_name=_("Bank"), related_name="person_accounts") iban = IBANField(_("IBAN"), blank=True, null=True, unique=True) settlement_account = models.CharField( _("Settlement account number"), max_length=20) is_active = models.BooleanField(_("Is active"), default=True) is_default = models.BooleanField(_("Use it by default?"), default=True) class Meta: abstract = True verbose_name = _("Bank account") verbose_name_plural = _("Bank accounts") unique_together = ("bank", "settlement_account")
class AccountModel(models.Model): firstname = models.CharField( max_length=100, validators=[ MinLengthValidator(2, message='2 or more characters required.') ]) lastname = models.CharField( max_length=100, validators=[ MinLengthValidator(2, message='2 or more characters required.') ], ) iban = IBANField( verbose_name='IBAN', unique=True, ) date_created = models.DateTimeField('date created', default=timezone.now) creator = models.ForeignKey(User) def __str__(self): return '{0}-{1}'.format(self.firstname, self.lastname)