It's very common in Wagtail projects to have models with fields that fall into both categories of:
Fields that are revised by editors
Fields that are managed automatically by signals or some other background process, and are meaninful to the object as a whole.
Always including every field in the serialization/deserialization process adds unnecessary overhead in cases where a model's with_content_json() method will override the value anyway. There's practically zero value in having these values be included in revision content either, as they will always be ignored, and just adds to the overhead of loading/converting revision content from the database.
Rationale
It's very common in Wagtail projects to have models with fields that fall into both categories of:
Always including every field in the serialization/deserialization process adds unnecessary overhead in cases where a model's
with_content_json()
method will override the value anyway. There's practically zero value in having these values be included in revision content either, as they will always be ignored, and just adds to the overhead of loading/converting revision content from the database.