Add support for ignoring certain attribute changes on a field.
Review Request #11108 — Created Aug. 1, 2020 and submitted — Latest diff uploaded
There are field attributes normally relevant to a column's definition
that some fields accept that don't have any actual impact for that
particular field. An example isManyToManyField(null=True)
, which has
historically been allowed but has since resulted in warnings.Django Evolution has been happy to try to apply these changes to the
database, but that just results in bad SQL and a failed evolution.This change adds support for defining ignorable attributes for different
field types. This currently only consists ofnull
for
ManyToManyField
, but may be useful for more fields in the future.The signature still retains these attributes, and they're factored in
for diffs and evolution hints. They're only ignored at the SQL
generation level.
Unit tests pass for all databases.