当前位置: 首页>>代码示例>>Python>>正文


Python Person.get_or_insert方法代码示例

本文整理汇总了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)
开发者ID:sadao,项目名称:meigen-pedia,代码行数:52,代码来源:person.py

示例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 )
开发者ID:sadao,项目名称:meigen-pedia,代码行数:46,代码来源:meigen.py


注:本文中的models.Person.get_or_insert方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。