Вопрос по дизайну CommentForm о пакете Django-comments
В собственном фреймворке комментариев Django, django-contrib-comments, он имеет следующие class определения:
In
models.py,class Comment (CommentAbstractModel):is defined.In
forms.py,class CommentForm (CommentDetailsForm):is defined.
Q: поскольку comment framework - это пакет, управляемый comment-db-table, почему бы нам не использовать Класс ModelForm для создания форм из моделей, вместо того, чтобы излишне создавать еще один класс CommentForm ?
CommentDetailsForm наследуется от CommentSecurityForm, который определяет различные методы использования и выполняет пользовательскую валидацию. Эти формы также объявляют поля, которые не содержатся в модели Comment. Да, можно было использовать ModelForm вместо Form, но я думаю, что это решение не ошибочно, потому что этим формам нужно специфическое поведение, ModelForm сэкономил бы несколько строк кода (не много), но фактическая реализация более явная. Использование ModelForm с моделями не является обязательным.