A simple Django app that provides Indonesian Bank models and fields.
Project description
A Django application that provides Indonesian bank choices for use with forms and a country field for models.
Installation
Run pip install p1-bank
Add 'bank' to INSTALLED_APPS in settings.py
Run python manage.py migrate to create banks models
Bank Model
A model of bank that holds all banks in Indonesia.
Supports long name, short name, bank code, and branch code.
>>> from django.apps import apps
>>> Bank = apps.get_model('bank', 'Bank')
>>> bank = Bank.objects.get(short_name='BANK BCA')
>>> bank.long_name
u'PT. BANK CENTRAL ASIA TBK.'
>>> bank.short_name
u'BANK BCA'
>>> bank.bank_code
u'014'
>>> bank.branch_code
u'0397'
>>> bank.bi_code
u'0140397'
It is possible to get a bank object from bi code:
>>> Bank.objects.get_by_bi_code('0140397')
<Bank: BANK BCA>
or upsert (update or create) from list with header:
>>> Bank.objects.get(bank_code='200')
<Bank: BANK BTN>
>>> bank_list = [
['bank_code', 'short_name'],
['200', 'BTN']
]
>>> Bank.objects.upsert_from_list_with_header(bank_list)
>>> Bank.objects.get(bank_code='200')
<Bank: BTN>
Bank Field
BankField is based on Django’s ForeignKey, a relationship to Bank model.
Consider an Account model using a BankField:
from django.db import models
from p1_bank.fields import BankField
class Account(models.Model):
name = models.CharField(max_length=100)
bank = BankField(related_name='accounts')
Any Account instance will have a bank attribute that you can use to identify account’s bank:
>>> bank = Bank.objects.get(short_name='BANK BCA')
>>> account = Account.objects.create(name='Kania', bank=bank)
>>> account.bank
'BANK BCA'
>>> account.bank.code
'014'
Bank Factories
You may use bank factories to support your test (requires factory_boy)
>>> from bank.factories import BankFactory
>>> BankFactory()
<Bank: Bank X00>
>>> BankFactory()
<Bank: Bank X01>
>>> bank301 = BankFactory(bank_code='301')
>>> bank301.bank_code
'301'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file p1-bank-0.2.53356116.tar.gz
.
File metadata
- Download URL: p1-bank-0.2.53356116.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.8.2 requests/2.27.1 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/2.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b95a6899f6b6dfbf0c6569f3c0bb3626f420b64e79aad1f0bb81c70ca721da8 |
|
MD5 | 11ccd6e1a13ae5bdf8d8dbe748d036d6 |
|
BLAKE2b-256 | 55541a4dcc70418da206ff08a31e54795445239fd1d2330d7267dbf07613d8ba |
File details
Details for the file p1_bank-0.2.53356116-py2-none-any.whl
.
File metadata
- Download URL: p1_bank-0.2.53356116-py2-none-any.whl
- Upload date:
- Size: 14.9 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.8.2 requests/2.27.1 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/2.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3c6dd4e05434c753a3c735fb79d82f2a995de6c2bcb275987c61eede6d2849f |
|
MD5 | 0b55127688ec70e53c0541dfcaf3fe37 |
|
BLAKE2b-256 | 4d222f378d96c29e1b90148417a9b98baa89f0752e0cf307a910382fe956f9da |