Вопрос по дизайну 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
с моделями не является обязательным.