如果另一个具有特定值,则GAE需要模型属性?

2024-09-30 08:29:27 发布

您现在位置:Python中文网/ 问答频道 /正文

在GAE的db.Model属性中,我们有一个required参数,该参数禁止在没有该属性值的情况下创建该模型的实体

例如:

class user(db.Model):
    isFromUK = db.BoolProperty(required = True)
    fromCounty = db.StringProperty()

如果isFromUK == True,我如何在fromCounty上执行required = True操作

我知道在GAE实现(I have not found a way in docs)中可能无法直接实现这一点,但我想知道是否有一些简单的方法来实现这一点,也许可以使用@ClassMethod

我以前没有理由使用它,所以我不确定这是否能提供一个解决方案


Tags: 模型实体truedb参数model属性required
1条回答
网友
1楼 · 发布于 2024-09-30 08:29:27

这就是在继续使用常规(即super类“.put”)之前重写.put()以执行特殊验证的方法:

class user(db.Model):
    ...
    def put(self, *args, **kw):
        if self.isFromUK:
            if not self.fromCountry:
                raise ValueError("Need fromCountry if isFromUK..")
        super(user, self).put(*args, **kwargs)

相关问题 更多 >

    热门问题