MongoEngine和WTForm类:具有MVC模式时如何避免重复业务规则

问题描述

在我的flask应用程序中,我有两个类。第一个定义数据库模型(mongoengine)

class Expenses(UserMixin,Document):
    exp_date = DateTimeField(required=True,max_length=10)
    exp_product = StringField(required=True,max_length=200)

第二个将表单数据定义为我的视图(WTForms):

class ExpensesForm(FlaskForm):

    exp_date = WTDateField(
        'Date',format='%d/%m/%Y',validators=[Inputrequired()]
    exp_product = WTStringField(
        'Product',validators=[Inputrequired()])

我试图避免使用相同逻辑的两个不同的类。例如,我必须指定两个类都需要字段exp_product。例如,如果我在一个类中更改了required属性,却忘记了在另一个类中进行了更改,则会导致一些错误。当然,这是一个简化的示例。当我有许多定义了许多不同规则的字段时,情况会变得更糟。

我认为针对这种情况的最佳解决方案是统一两个类或应用策略模式,但我不知道该怎么做。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...