﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
36425	Clarify backend-specific mappings and portable safe ranges of PositiveIntegerField types	Jeff Cho	Jeff Cho	"Currently, the documentation for PositiveSmallIntegerField, PositiveIntegerField, and PositiveBigIntegerField mentions only a ""safe range"" of values. However, it doesn't explain why these ranges were chosen, nor what actual database column types these fields map to.

For example, in MySQL, these fields map to UNSIGNED types (UNSIGNED INT, BIGINT, SMALLINT), and can accept much larger values than the ""safe range"". This mapping is not mentioned anywhere in the documentation.

As a result, users must inspect the Django source code or rely on third-party discussions to understand what these fields actually do in production.

This patch proposes to:

- Clearly define ""safe range"" as the portable, cross-backend-compatible range
- Explicitly mention that actual DB column types vary by backend
- Add MySQL-specific notes stating these fields map to UNSIGNED INT/BIGINT/SMALLINT

See common user confusion:
- https://stackoverflow.com/questions/18925760/unsigned-integer-field-in-django
- https://stackoverflow.com/questions/18513350/can-i-have-an-unsigned-autofield
- https://stackoverflow.com/questions/73027108/django-positivebigintegerfield"	Cleanup/optimization	closed	Database layer (models, ORM)	dev	Normal	fixed	docs, mysql, orm, fields	Simon Charette	Ready for checkin	1	0	0	0	0	0
