Card
| Field | Type | Constraints |
|---|---|---|
id |
BigAutoField | PK |
brand |
CharField(30) | |
card_number |
CharField(125) | nullable |
pin |
CharField(20) | nullable |
url_redemption_link |
TextField | nullable |
url_expiration_date |
DateTimeField | nullable indexed |
event_number |
CharField(50) | nullable |
barcode_value |
CharField(50) | nullable |
barcode_format |
CharField(20) | nullable |
registered |
BooleanField | default=False |
registered_to |
FK → BrandAccount | nullable |
physical |
BooleanField | default=False |
created_at |
DateTimeField | nullable |
updated_at |
DateTimeField | nullable |
secure |
BooleanField | default=False |
suspicious |
BooleanField | default=False |
nickname |
CharField(20) | nullable |
balance |
FK → CardBalance | nullable |
reservation |
FK → CardReservation | nullable |
card_number_unique |
BooleanField | default=True nullable |
url_redemption_link_unique |
BooleanField | default=True nullable |
origin |
CharField(100) | nullable |
notes |
TextField | nullable |
imported_batch |
FK → BulkImport | nullable |
sold |
BooleanField | default=False |
Relationships
Referenced By (13 tables)
...and 3 more
Sample Queries (click to expand)
Get all records
Card.objects.all()
Get by ID
Card.objects.get(id=1)
With related BrandAccount
Card.objects.select_related("registered_to")
Filter by url_expiration_date (last 7 days)
Card.objects.filter(url_expiration_date__gte=datetime.now()-timedelta(days=7))
Schema History (click to expand)
#0023AlterField: card_number2020-07-07
#0027AlterField: pin2021-12-17
#0028AlterField: card_number2022-02-01
#0030AlterField: card_number_unique2023-01-31
#0033AlterField: event_number2023-05-03
#0034AddField: barcode_format2023-08-30
#0034AddField: barcode_value2023-08-30
#0037AddField: url_redemption_link2025-09-17
#0038AddField: url_expiration_date2025-09-22
#0038AddField: url_redemption_link_unique2025-09-22