以下是获取app engine数据中唯一id的正确方法吗

2024-10-04 01:27:31 发布

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

我有一个遗留的googleappengine代码,在Python中有以下实体类

class AffiliateParent(db.Model):
    name = db.StringProperty(required = True)

class Affiliate(db.Model):
    email = db.StringProperty(required = True)
    point_gain = db.IntegerProperty()
    point_used = db.IntegerProperty()
    #feature_upgrade = db.ListProperty(str)
    modified_time = db.DateTimeProperty(auto_now = True)

我在想,下面是生成唯一id的正确方法吗?它们在Affiliate表中保证唯一吗?你知道吗

affiliate_parent_key = AffiliateParent.all(keys_only=True).filter('name =', 'yancheng').get();
affiliate_parent = db.get(affiliate_parent_key);
# check whether affiliate exist, if not create one
affiliate_parent = db.get(affiliate_parent_key);

q = Affiliate.all()
q.ancestor(affiliate_parent)
q.filter('email =', email)
affiliate = q.get()

if not affiliate:
    affiliate = Affiliate(
        email = email,
        point_gain = 0,
        point_used = 0,
        parent = affiliate_parent
    )
    affiliate.put()

# 4503602445942784
# is this unique?
unique_id = affiliate.key().id()

Tags: keynameidtruedbgetmodelemail