本文整理汇总了Python中models.Person.get_or_insert方法的典型用法代码示例。如果您正苦于以下问题:Python Person.get_or_insert方法的具体用法?Python Person.get_or_insert怎么用?Python Person.get_or_insert使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类models.Person
的用法示例。
在下文中一共展示了Person.get_or_insert方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: insert_or_update
# 需要导入模块: from models import Person [as 别名]
# 或者: from models.Person import get_or_insert [as 别名]
def insert_or_update(self):
# パラメータ取得
person_name = self.request.get("name")
person_description = self.request.get("description")
is_lock = self.request.get("is_lock")
# パラメタが不正なときは一覧画面へリダイレクトする
if (person_name == '' or is_lock == ''):
self.redirect(urls.APP_PERSON_URL)
return
# is_lock を Boolean型にする
if (is_lock == 'True'):
is_lock = True
else:
is_lock = False
# TwitterID
twitter_id = self.request.get("twitter_id")
# 更新
if self.request.get("id"):
# Person取得
person_obj = Person.get( self.request.get("id") )
if (not person_obj):
self.redirect(urls.APP_PERSON_URL)
# Personの所有する名言を取得
query = Meigen.all()
query.filter( 'person = ', person_obj )
owned_meigens = query.fetch(limit = 1)
# 名言が1つ以上所属している場合は発言者名を変更できない!!とエラーであることを知らせる
if person_obj.name != person_name and owned_meigens:
self.redirect(urls.APP_PERSON_URL)
# Person 削除
else:
person_obj.delete()
# Person 登録
person_obj = Person.get_or_insert(
person_name,
owner = users.get_current_user(),
name = person_name,
description = person_description,
twitter_id = twitter_id,
is_lock = is_lock )
# 発言者一覧へリダイレクト
self.redirect(urls.APP_PERSON_URL)
示例2: insert_or_update
# 需要导入模块: from models import Person [as 别名]
# 或者: from models.Person import get_or_insert [as 别名]
def insert_or_update(self):
# パラメータ取得
person_name = self.request.get("person")
text = self.request.get("text")
is_lock = self.request.get("is_lock")
# パラメタが不正なときは一覧画面へリダイレクトする
if (person_name == '' or text == '' or is_lock == ''):
self.redirect(urls.APP_MEIGEN_URL)
return
# is_lock 補正
if (is_lock == 'True'):
is_lock = True
else:
is_lock = False
# 発言者登録
person_obj = Person.get_or_insert(
person_name,
owner = users.get_current_user(),
name = person_name,
description = '',
twitter_id = DEFAULT_TWITTER_ID,
is_lock = is_lock )
# 名言文(Meigen.text)が変更されたら、変更前のオブジェクトは削除する
if self.request.get("id"):
meigen_obj = Meigen.get( self.request.get("id") )
if meigen_obj and meigen_obj.text != text:
meigen_obj.delete()
# 名言登録
meigen_obj = Meigen.get_or_insert(
text,
owner = users.get_current_user(),
text = text,
person = person_obj,
is_lock = is_lock )
meigen_obj.person = person_obj
meigen_obj.save()
# 一覧ページへリダイレクトする
self.redirect( urls.APP_MEIGEN_URL )