我有两个资源,
用户资源:
users = {
'schema': {
'username': {
'type': 'string',
'required': True
},
'interests': {
'type': 'list'
}
}
}
示例,
{"username": "Yogi", "interests":["Sports", "News"]}
活动资源:
events = {
'schema': {
'name': {
'type': 'string',
'required': True,
},
'categories': {
'type': 'list',
'required': True,
'minlength':1
}
}
}
实施例,
{"name": "IPLT20", "categories": ["Sports"]}
Python Eve中是否有办法查询符合用户兴趣的所有事件。
一种方法是构建如下的查询,
/events?where={"$or":[{"categories":"Sports"},{"categories":"News"}]}
为此,我们将对用户进行GET并使用该信息,我们必须构建上述查询。
在Python Eve中是否可以进行(一步)查询,例如
/users/<userid>/events
或
/events?for=<userid>
答案 0 :(得分:0)
Documentation表示虽然有可能,where
样式查询是首选/推荐
答案 1 :(得分:0)
事件应类似于:
events = {
'url': 'users/<regex("[a-zA-Z0-9]{24}":user_id>/events',
'schema': {
'user_id': {
'type': 'objectid',
'data_relation': {
'resource': 'queues',
'field': '_id',
'embeddable': True
},
},
'name': {
'type': 'string',
'required': True,
},
'categories': {
'type': 'list',
'required': True,
'minlength': 1
}
}
}
但这将使您仅通过users/<regex("[a-zA-Z0-9]{24}":user_id>/events
链接处理事件。如果您还想保留/events
端点,请使用this方法