我有ndb模型:
class Product(ndb.Model):
name = ndb.StringProperty()
description = ndb.StringProperty()
code = ndb.StringProperty()
class Category(ndb.Model):
name = ndb.StringProperty()
class Shop(ndb.Model):
name = ndb.StringProperty()
category = ndb.StructuredProperty(Category
我想要交友系统有这样的db模型:
class Users(ndb.Model):
username = ndb.StringProperty(required = True)
bio = ndb.StringProperty()
class friend_list(ndb.Model):
list = ndb.StringProperty(repeated=True)
class friend_pending(ndb.Model):
list = ndb.StringProperty(repeated=True)
friend_pending是尚未被接受的朋
可以将动态实体类型分配给Expando Model吗?例如,我想将此模型用于许多类型的动态实体:
class Dynamic(ndb.Expando):
"""
Handles all "Post types", such as Pages, Posts, Users, Products, etc...
"""
col = ndb.StringProperty()
parent = ndb.IntegerProperty()
name = ndb.StringProperty()
我在models.py中有下面的代码,我可以只按键而不是字符串对数据库进行排序。
from google.appengine.ext import ndb
class Roles(ndb.Model):
name = ndb.StringProperty()
owner = ndb.KeyProperty(kind='User')
created = ndb.DateTimeProperty(required=True, auto_now_add = True)
class RESTMeta:
user_owner_property = 'owner'
我很难理解Google中实体和键是如何工作的。
我有一个post实体和一个user实体。如何将post上的post设置为user
在交互控制台中,到目前为止,我有以下内容:
from google.appengine.ext import ndb
from app.lib.posts import Post
from app.lib.users import User
from random import shuffle
users = User.query()
posts = Post.query().fetch()
for post in posts:
post.user_key
我有两个模型: Car(ndb.Model)和Branch(ndb.Model),每个模型都有一个关键方法。
@classmethod
def car_key(cls, company_name, car_registration_id):
if not (company_name.isalnum() and car_registration_id.isalnum()):
raise ValueError("Company & car_registration_id must be alphanumeric")
key_name = co
我想将用户存储在自定义用户NDB模型上,我想使用的主要唯一密钥是电子邮件地址,因此我想知道使用以下模型是否是一个好的选择:
class Users(ndb.Model):
uid = ndb.StringProperty(required=True)
user = ndb.UserProperty(auto_current_user_add=Tru
考虑一下中的以下数据模型
class A(ndb.Model):
name = ndb.StringProperty()
b = ndb.KeyProperty(Kind='B')
class B(ndb.Model):
name = StringProperty()
现在假设在Python请求处理程序中我执行了这个查询
entities = A.query().fetch(200)
并将实体作为模板值传递给Jinja2模板。
在其中,我迭代一个对象,如
{%for a in entities%}
{{a.name}}
{% endfor %}
我有一个使用NDB数据存储和python的GAE应用程序,它将任务分配给员工。我有Task实体和Employee实体,它们有任务数组(存储任务的键)。我正在尝试实现一个“级联删除”,我可以将要删除的任务的键传递给我的delete函数,并将其“级联”到employee实体,以清除对该任务的引用。现在,我的delete任务函数工作得很好,但是它不能正确地级联。当我删除一个任务并签出分配了该任务的员工时,它的键值仍然显示。我将非常感谢任何人可以提供的任何指针!
我的实体定义在db_models文件中,具有任务实体(仅由字符串形式的名称组成)和具有任务数组的Employee实体:
class Empl
我的应用程序有业务实体,每个业务都属于一个或多个类别!如何在我的数据库中实现这种关系?
我有两个选择
第一个选项:(将属于特定业务的所有类别存储在业务实体中。)
class business(ndb.Model):
name = ndb.StringProperty()
categories = ndb.KeyProperty(kind=category,repeated=True)
class category(ndb.Model)
name = ndb.StringProperty()
第二个选项:(将属于特定类别的所有业务存储在类别实体中)
我有一个这样的模型:
class UserModel(ndb.Model):
''' model class which stores all the user information '''
fname = ndb.StringProperty(required=True)
lname = ndb.StringProperty(required=True)
sex = ndb.StringProperty(required=True, choices=['male', 'female
同样的代码,在产品中不工作,在开发中是的。
型号:
class Comput(ndb.Model):
@staticmethod
def membership(user):
q = ndb.gql("SELECT * FROM Members WHERE member = :1", user)
result = q.fetch()
return [m.comput.get() for m in result]
#return [m.comput.get() for m in q] #same iss
我有一个ndb用户模型:
class User(ndb.Model):
active = ndb.BooleanProperty(default=True,required=True)
email= ndb.StringProperty(required=True)
,以便与所有用户一起检索JSON文件。
@app.route('/get_users')
@login_required
def get_user_data():
users = json.dumps([u.to_dict() for u in User.query().fetch()])
我尝试过滤ID,如下所示
ancestorid id value
1111 aaaa 10 // I want to fetch this
1111 bbbb 20
2222 aaaa 30 // and this.
2222 cccc 40
但是,我在ndb.query引用中找不到id过滤。
我可以通过key.But过滤它需要的祖先键(Id)。我要去找跨实体组。
如何使用ndb.query按ID进行过滤?