После Django 1.8 требовалось, чтобы формы явно указывали, какие поля они хотели бы отобразить в классе Meta, поэтому вам определенно нужно сделать это в 2.2.6.
fields
- это включающий способ перечисления полей. Если вы явно хотите указать, какие поля включены в форму, вы должны указать их здесь. Это означает, что если вы когда-нибудь измените свою модель, новые поля в модели не будут автоматически добавлены в форму, если вы не установите поля в __all__
exclude
, что неудивительно противоположно этому. Это означает, что форма включает в себя все поля, кроме тех, которые явно указаны в исключении. Если вы измените свою модель, новые поля будут добавлены в форму, если вы не измените то, что находится в exclude
.
Различия не велики в великой схеме вещей. Это зависит только от того, хотите ли вы явно указать, что включено или что исключено.