Skip to content

Commit 5f96369

Browse files
committed
fix: inconsistent max text length between models and seriallizes
1 parent 7018917 commit 5f96369

File tree

5 files changed

+231
-34
lines changed

5 files changed

+231
-34
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
### Fix
1010

1111
- fix: rendering loop issue in create_label form (by @Ansh-Dev-Nagar)
12+
- fix: inconsistent max text length between models and serializers
1213

1314
# Karrio 2025.5rc18
1415

modules/core/karrio/server/core/serializers.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ class AddressData(validators.AugmentedAddressSerializer):
153153
required=False,
154154
allow_blank=True,
155155
allow_null=True,
156-
max_length=10,
156+
max_length=20,
157157
help_text="""The address postal code
158158
**(required for shipment purchase)**
159159
""",
@@ -372,7 +372,7 @@ class ParcelData(validators.PresetSerializer):
372372
required=False,
373373
allow_blank=True,
374374
allow_null=True,
375-
max_length=50,
375+
max_length=100,
376376
help_text=f"""The parcel's packaging type.<br/>
377377
**Note that the packaging is optional when using a package preset.**<br/>
378378
values: <br/>
@@ -384,7 +384,7 @@ class ParcelData(validators.PresetSerializer):
384384
required=False,
385385
allow_blank=True,
386386
allow_null=True,
387-
max_length=50,
387+
max_length=100,
388388
help_text="""The parcel's package preset.<br/>
389389
For carrier specific package presets, please consult the reference.
390390
""",
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
# Generated by Django 5.2.5 on 2025-08-27 13:39
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('manager', '0064_shipment_shipment_created_at_idx_and_more'),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name='address',
15+
name='city',
16+
field=models.CharField(blank=True, db_index=True, max_length=100, null=True),
17+
),
18+
migrations.AlterField(
19+
model_name='address',
20+
name='company_name',
21+
field=models.CharField(blank=True, db_index=True, max_length=250, null=True),
22+
),
23+
migrations.AlterField(
24+
model_name='address',
25+
name='federal_tax_id',
26+
field=models.CharField(blank=True, max_length=100, null=True),
27+
),
28+
migrations.AlterField(
29+
model_name='address',
30+
name='person_name',
31+
field=models.CharField(blank=True, db_index=True, max_length=250, null=True),
32+
),
33+
migrations.AlterField(
34+
model_name='address',
35+
name='phone_number',
36+
field=models.CharField(blank=True, max_length=250, null=True),
37+
),
38+
migrations.AlterField(
39+
model_name='address',
40+
name='state_code',
41+
field=models.CharField(blank=True, db_index=True, max_length=100, null=True),
42+
),
43+
migrations.AlterField(
44+
model_name='address',
45+
name='state_tax_id',
46+
field=models.CharField(blank=True, max_length=100, null=True),
47+
),
48+
migrations.AlterField(
49+
model_name='address',
50+
name='suburb',
51+
field=models.CharField(blank=True, max_length=100, null=True),
52+
),
53+
migrations.AlterField(
54+
model_name='commodity',
55+
name='description',
56+
field=models.CharField(blank=True, max_length=250, null=True),
57+
),
58+
migrations.AlterField(
59+
model_name='commodity',
60+
name='hs_code',
61+
field=models.CharField(blank=True, db_index=True, max_length=250, null=True),
62+
),
63+
migrations.AlterField(
64+
model_name='commodity',
65+
name='sku',
66+
field=models.CharField(blank=True, db_index=True, max_length=250, null=True),
67+
),
68+
migrations.AlterField(
69+
model_name='commodity',
70+
name='title',
71+
field=models.CharField(blank=True, max_length=250, null=True),
72+
),
73+
migrations.AlterField(
74+
model_name='customs',
75+
name='content_type',
76+
field=models.CharField(blank=True, db_index=True, max_length=100, null=True),
77+
),
78+
migrations.AlterField(
79+
model_name='customs',
80+
name='incoterm',
81+
field=models.CharField(choices=[('CFR', 'CFR'), ('CIF', 'CIF'), ('CIP', 'CIP'), ('CPT', 'CPT'), ('DAP', 'DAP'), ('DAF', 'DAF'), ('DDP', 'DDP'), ('DDU', 'DDU'), ('DEQ', 'DEQ'), ('DES', 'DES'), ('EXW', 'EXW'), ('FAS', 'FAS'), ('FCA', 'FCA'), ('FOB', 'FOB')], db_index=True, max_length=50),
82+
),
83+
migrations.AlterField(
84+
model_name='customs',
85+
name='invoice',
86+
field=models.CharField(blank=True, max_length=100, null=True),
87+
),
88+
migrations.AlterField(
89+
model_name='customs',
90+
name='invoice_date',
91+
field=models.CharField(blank=True, max_length=100, null=True),
92+
),
93+
migrations.AlterField(
94+
model_name='customs',
95+
name='signer',
96+
field=models.CharField(blank=True, max_length=100, null=True),
97+
),
98+
migrations.AlterField(
99+
model_name='parcel',
100+
name='content',
101+
field=models.CharField(blank=True, max_length=250, null=True),
102+
),
103+
migrations.AlterField(
104+
model_name='parcel',
105+
name='description',
106+
field=models.CharField(blank=True, max_length=250, null=True),
107+
),
108+
migrations.AlterField(
109+
model_name='parcel',
110+
name='package_preset',
111+
field=models.CharField(blank=True, max_length=100, null=True),
112+
),
113+
migrations.AlterField(
114+
model_name='parcel',
115+
name='packaging_type',
116+
field=models.CharField(blank=True, max_length=100, null=True),
117+
),
118+
migrations.AlterField(
119+
model_name='parcel',
120+
name='reference_number',
121+
field=models.CharField(blank=True, db_index=True, max_length=100, null=True),
122+
),
123+
migrations.AlterField(
124+
model_name='pickup',
125+
name='confirmation_number',
126+
field=models.CharField(db_index=True, max_length=100),
127+
),
128+
migrations.AlterField(
129+
model_name='pickup',
130+
name='instruction',
131+
field=models.CharField(blank=True, max_length=250, null=True),
132+
),
133+
migrations.AlterField(
134+
model_name='pickup',
135+
name='package_location',
136+
field=models.CharField(blank=True, max_length=250, null=True),
137+
),
138+
migrations.AlterField(
139+
model_name='shipment',
140+
name='reference',
141+
field=models.CharField(blank=True, max_length=100, null=True),
142+
),
143+
migrations.AlterField(
144+
model_name='shipment',
145+
name='shipment_identifier',
146+
field=models.CharField(blank=True, max_length=100, null=True),
147+
),
148+
migrations.AlterField(
149+
model_name='shipment',
150+
name='tracking_number',
151+
field=models.CharField(blank=True, db_index=True, max_length=100, null=True),
152+
),
153+
migrations.AlterField(
154+
model_name='tracking',
155+
name='account_number',
156+
field=models.CharField(blank=True, max_length=100, null=True),
157+
),
158+
migrations.AlterField(
159+
model_name='tracking',
160+
name='reference',
161+
field=models.CharField(blank=True, max_length=100, null=True),
162+
),
163+
migrations.AlterField(
164+
model_name='tracking',
165+
name='tracking_number',
166+
field=models.CharField(db_index=True, max_length=100),
167+
),
168+
]

modules/manager/karrio/server/manager/models.py

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -190,12 +190,14 @@ class Meta:
190190
max_length=20, choices=serializers.COUNTRIES, db_index=True
191191
)
192192
email = models.EmailField(null=True, blank=True, db_index=True)
193-
city = models.CharField(max_length=30, null=True, blank=True, db_index=True)
194-
federal_tax_id = models.CharField(max_length=20, null=True, blank=True)
195-
state_tax_id = models.CharField(max_length=20, null=True, blank=True)
196-
person_name = models.CharField(max_length=50, null=True, blank=True, db_index=True)
197-
company_name = models.CharField(max_length=50, null=True, blank=True, db_index=True)
198-
phone_number = models.CharField(max_length=50, null=True, blank=True)
193+
city = models.CharField(max_length=100, null=True, blank=True, db_index=True)
194+
federal_tax_id = models.CharField(max_length=100, null=True, blank=True)
195+
state_tax_id = models.CharField(max_length=100, null=True, blank=True)
196+
person_name = models.CharField(max_length=250, null=True, blank=True, db_index=True)
197+
company_name = models.CharField(
198+
max_length=250, null=True, blank=True, db_index=True
199+
)
200+
phone_number = models.CharField(max_length=250, null=True, blank=True)
199201
street_number = models.CharField(
200202
max_length=20, null=True, blank=True, db_index=True
201203
)
@@ -205,8 +207,8 @@ class Meta:
205207
address_line2 = models.CharField(
206208
max_length=100, null=True, blank=True, db_index=True
207209
)
208-
state_code = models.CharField(max_length=20, null=True, blank=True, db_index=True)
209-
suburb = models.CharField(max_length=20, null=True, blank=True)
210+
state_code = models.CharField(max_length=100, null=True, blank=True, db_index=True)
211+
suburb = models.CharField(max_length=100, null=True, blank=True)
210212
residential = models.BooleanField(null=True)
211213

212214
validate_location = models.BooleanField(null=True)
@@ -271,13 +273,13 @@ class Meta:
271273
width = models.FloatField(blank=True, null=True)
272274
height = models.FloatField(blank=True, null=True)
273275
length = models.FloatField(blank=True, null=True)
274-
packaging_type = models.CharField(max_length=50, null=True, blank=True)
275-
package_preset = models.CharField(max_length=50, null=True, blank=True)
276+
packaging_type = models.CharField(max_length=100, null=True, blank=True)
277+
package_preset = models.CharField(max_length=100, null=True, blank=True)
276278
is_document = models.BooleanField(default=False, blank=True, null=True)
277-
description = models.CharField(max_length=35, null=True, blank=True)
278-
content = models.CharField(max_length=35, null=True, blank=True)
279+
description = models.CharField(max_length=250, null=True, blank=True)
280+
content = models.CharField(max_length=250, null=True, blank=True)
279281
reference_number = models.CharField(
280-
max_length=50, null=True, blank=True, db_index=True
282+
max_length=100, null=True, blank=True, db_index=True
281283
)
282284
weight_unit = models.CharField(
283285
max_length=2, choices=serializers.WEIGHT_UNIT, null=True, blank=True
@@ -331,10 +333,10 @@ class Meta:
331333

332334
weight = models.FloatField(blank=True, null=True)
333335
quantity = models.IntegerField(blank=True, null=True)
334-
title = models.CharField(max_length=35, null=True, blank=True)
335-
description = models.CharField(max_length=100, null=True, blank=True)
336-
sku = models.CharField(max_length=35, null=True, blank=True, db_index=True)
337-
hs_code = models.CharField(max_length=35, null=True, blank=True, db_index=True)
336+
title = models.CharField(max_length=250, null=True, blank=True)
337+
description = models.CharField(max_length=250, null=True, blank=True)
338+
sku = models.CharField(max_length=250, null=True, blank=True, db_index=True)
339+
hs_code = models.CharField(max_length=250, null=True, blank=True, db_index=True)
338340
value_amount = models.FloatField(blank=True, null=True)
339341
weight_unit = models.CharField(
340342
max_length=2, choices=serializers.WEIGHT_UNIT, null=True, blank=True
@@ -429,14 +431,16 @@ class Meta:
429431

430432
certify = models.BooleanField(null=True)
431433
commercial_invoice = models.BooleanField(null=True)
432-
content_type = models.CharField(max_length=50, null=True, blank=True, db_index=True)
434+
content_type = models.CharField(
435+
max_length=100, null=True, blank=True, db_index=True
436+
)
433437
content_description = models.CharField(max_length=250, null=True, blank=True)
434438
incoterm = models.CharField(
435-
max_length=20, choices=serializers.INCOTERMS, db_index=True
439+
max_length=50, choices=serializers.INCOTERMS, db_index=True
436440
)
437-
invoice = models.CharField(max_length=50, null=True, blank=True)
438-
invoice_date = models.CharField(max_length=50, null=True, blank=True)
439-
signer = models.CharField(max_length=50, null=True, blank=True)
441+
invoice = models.CharField(max_length=100, null=True, blank=True)
442+
invoice_date = models.CharField(max_length=100, null=True, blank=True)
443+
signer = models.CharField(max_length=100, null=True, blank=True)
440444

441445
duty = models.JSONField(
442446
blank=True, null=True, default=functools.partial(utils.identity, value=None)
@@ -502,13 +506,13 @@ class Meta:
502506
default=functools.partial(core.uuid, prefix="pck_"),
503507
editable=False,
504508
)
505-
confirmation_number = models.CharField(max_length=50, blank=False, db_index=True)
509+
confirmation_number = models.CharField(max_length=100, blank=False, db_index=True)
506510
test_mode = models.BooleanField(null=False)
507511
pickup_date = models.DateField(blank=False)
508512
ready_time = models.CharField(max_length=5, blank=False)
509513
closing_time = models.CharField(max_length=5, blank=False)
510-
instruction = models.CharField(max_length=200, null=True, blank=True)
511-
package_location = models.CharField(max_length=200, null=True, blank=True)
514+
instruction = models.CharField(max_length=250, null=True, blank=True)
515+
package_location = models.CharField(max_length=250, null=True, blank=True)
512516

513517
options = models.JSONField(
514518
blank=True, null=True, default=functools.partial(utils.identity, value={})
@@ -597,9 +601,9 @@ class Meta:
597601
default=serializers.TRACKER_STATUS[0][0],
598602
db_index=True,
599603
)
600-
tracking_number = models.CharField(max_length=50, db_index=True)
601-
account_number = models.CharField(max_length=35, null=True, blank=True)
602-
reference = models.CharField(max_length=35, null=True, blank=True)
604+
tracking_number = models.CharField(max_length=100, db_index=True)
605+
account_number = models.CharField(max_length=100, null=True, blank=True)
606+
reference = models.CharField(max_length=100, null=True, blank=True)
603607
info = models.JSONField(
604608
blank=True, null=True, default=functools.partial(utils.identity, value={})
605609
)
@@ -760,9 +764,9 @@ class Meta:
760764
)
761765
label_type = models.CharField(max_length=25, null=True, blank=True)
762766
tracking_number = models.CharField(
763-
max_length=50, null=True, blank=True, db_index=True
767+
max_length=100, null=True, blank=True, db_index=True
764768
)
765-
shipment_identifier = models.CharField(max_length=50, null=True, blank=True)
769+
shipment_identifier = models.CharField(max_length=100, null=True, blank=True)
766770
tracking_url = models.TextField(max_length=None, null=True, blank=True)
767771
test_mode = models.BooleanField(null=False)
768772
customs = models.OneToOneField(
@@ -775,7 +779,7 @@ class Meta:
775779

776780
label = models.TextField(max_length=None, null=True, blank=True)
777781
invoice = models.TextField(max_length=None, null=True, blank=True)
778-
reference = models.CharField(max_length=35, null=True, blank=True)
782+
reference = models.CharField(max_length=100, null=True, blank=True)
779783
selected_rate = models.JSONField(blank=True, null=True)
780784
payment = models.JSONField(
781785
blank=True, null=True, default=functools.partial(utils.identity, value=None)

modules/pricing/karrio/server/pricing/migrations/0068_alter_surcharge_carriers_alter_surcharge_services.py

Lines changed: 24 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)