예제 #1
0
class Session(Model):
    user = props.Key(kind=User)

    @classmethod
    def create(cls, user):
        session = cls(user=user)
        session.key = Key(Session, str(uuid4()))
        return session.put()
예제 #2
0
class Post(Model):
    author = props.Key(indexed=True, kind=User)
    title = props.String()

    def __compute_slug(self):
        if self.title is None:
            return None

        return slugify(self.title)

    def __compute_body(self):
        if self.body is None:
            return None

        return markdown(self.body)

    slug = props.Computed(__compute_slug)
    body = props.Text()
    body_markdown = props.Computed(__compute_body)
    tags = props.String(indexed=True, repeated=True)
    created_at = props.DateTime(indexed=True, auto_now_add=True)
    updated_at = props.DateTime(indexed=True, auto_now=True)
예제 #3
0
class ModelWithKeyProperty(Model):
    k = props.Key()
예제 #4
0
class Person(FullName, Model):
    email = props.String(indexed=True)
    first_name = props.String(indexed=True)
    last_name = props.String(optional=True)
    parent = props.Key(optional=True)
    created_at = props.DateTime(auto_now_add=True, indexed=True)
예제 #5
0
class ModelWithRestrictedKeyProperty(Model):
    k = props.Key(kind=Person)
예제 #6
0
def test_keys_cannot_be_assigned_partial_keys():
    with pytest.raises(ValueError):
        key = props.Key()
        key.validate(Key("Person"))
예제 #7
0
def test_keys_can_be_assigned_full_keys():
    assert props.Key().validate(Key("Person", 12))
예제 #8
0
def test_key_properties_can_be_restricted_by_kind():
    assert props.Key(kind="Person").kind == "Person"
    assert props.Key(kind=models.Person).kind == "Person"
예제 #9
0
class Subscriber(Model):
    tags = props.Key(repeated=True, kind=Tag)
예제 #10
0
파일: models.py 프로젝트: vzts/anom-py
class ModelWithRepeatedKeyProperty(Model):
    ks = props.Key(kind=Person, repeated=True)