Pacote google.appengine.ext.db
Resumo
Camada de abstração de banco de dados simples baseada em esquema para o armazenamento de dados.
Modelada após a camada de abstração do Django sobre os bancos de dados SQL, http://www.djangoproject.com/documentation/mode_api/. O nosso é um pouco mais simples e com muito menos código porque o armazenamento de dados é muito menos complexo do que os bancos de dados SQL.
O modelo de programação precisa declarar subclasses do Python da classe Model, declarando propriedades do armazenamento de dados como membros dessa classe. Dessa maneira, se quisesse publicar uma história com título, corpo e data de criação, você faria assim:
- classe Story(db.Model):
-
title = db.StringProperty() body = db.TextProperty() created = db.DateTimeProperty(auto_now_add=True)
Crie uma nova Story no armazenamento de dados com esse padrão de uso:
story = Story(title=’My title’) story.body = ‘My body’ story.put()
Consulte entidades Story usando interfaces de consulta internas mapeadas diretamente para a sintaxe e a semântica do armazenamento de dados:
stories = Story.all().filter(‘date >=’, yesterday).order(‘-date’) for story in stories:
print story.title
As declarações de Property impõem tipos executando validação na atribuição. Por exemplo, a DateTimeProperty impõe a atribuição de objetos datetime válidos e, se fornecer a opção “obrigatória” para uma propriedade, você não poderá atribuir None a essa propriedade.
Também aceitamos referências entre modelos. Dessa maneira, se uma história tivesse comentários, você a representaria assim:
- classe Comment(db.Model):
-
story = db.ReferenceProperty(Story) body = db.TextProperty()
Quando você consegue uma história do armazenamento de dados, a referência da história é resolvida automaticamente na primeira vez em que é referenciada, o que facilita o uso de instâncias de modelo sem executar outras consultas manualmente:
comment = Comment.get(key) print comment.story.title
Da mesma maneira, acesse o conjunto de comentários que se referem a cada história por meio dessa propriedade por uma referência reversa chamada comment_set, que é uma Query pré-configurada para retornar todos os comentários correspondentes:
story = Story.get(key) for comment in story.comment_set:
print comment.body
Submódulos |
|
---|---|
google.appengine.ext.db.metadata |
Modelos e funções auxiliares para acessar metadados do armazenamento de dados do aplicativo. |
google.appengine.ext.db.polymodel |
Suporte para modelos e consultas polimórficas. |
google.appengine.ext.db.stats |
Modelos a serem usados ao acessar estatísticas de uso específicas do armazenamento de dados do aplicativo. |
Índice
- class google.appengine.ext.db.BlobProperty(*args, **kwds)source
-
Bases: google.appengine.ext.db.UnindexedProperty
Uma string de byte que pode ter mais de 1.500 bytes.
- data_type
-
alias de Blob
- class google.appengine.ext.db.BooleanProperty(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: google.appengine.ext.db.Property
Uma propriedade booleana.
- data_type
-
alias de bool
- empty(value)source
A propriedade booleana está vazia.
False não é um valor vazio.
RetornaTrue se o valor for None, ou False.
- validate(value)source
Valide o booleano.
RetornaUm valor válido.
GeraBadValueError caso a propriedade não seja instância de "bool".
- class google.appengine.ext.db.ByteStringProperty(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: google.appengine.ext.db.Property
Uma string de byte (<=1.500 bytes) curta.
Este tipo é usado em valores binários curtos que precisam ser indexados. Se você não precisar de indexação (independentemente do comprimento), use BlobProperty.
- MAX_LENGTH = 1500
- data_type
-
alias de ByteString
- validate(value)source
Valide a propriedade ByteString.
RetornaUm valor válido.
GeraBadValueError caso a propriedade não seja uma instância de "ByteString".
- class google.appengine.ext.db.CategoryProperty(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: google.appengine.ext.db._CoercingProperty
Uma propriedade com valores que são instâncias de Category.
- data_type
-
alias de Category
- class google.appengine.ext.db.ComputedProperty(value_function, indexed=True)source
Bases: google.appengine.ext.db.Property
Property usada para criar propriedades derivadas de outros valores.
Determinados atributos jamais precisam ser definidos por usuários, mas calculados automaticamente em tempo de execução com base em outros valores da mesma entidade. Esses valores são implementados como propriedades persistentes porque fornecem teclas de pesquisa úteis.
Uma propriedade computada se comporta da mesma maneira que propriedades normais, exceto por você não poder definir valores nelas. A tentativa de fazer isso gera db.DerivedPropertyError que db.Model sabe ignorar durante o tempo de carregamento da entidade. Sempre que getattr é usado na propriedade, o valor é recalculado. Isso acontece quando o modelo chama get_value_for_datastore na propriedade.
Exemploimport string
class Person(Model):
name = StringProperty(required=True)
@db.ComputedProperty def lower_case_name(self):
return self.name.lower()
# Encontre todas as pessoas, independentemente do caso usado em name. Person.gql(‘WHERE lower_case_name=:1’ % name_to_search_for.lower())
- exception google.appengine.ext.db.ConfigurationErrorsource
-
Bases: google.appengine.api.datastore_errors.Error
Gerado quando uma propriedade ou um modelo está configurado incorretamente.
- class google.appengine.ext.db.DateProperty(verbose_name=None, auto_now=False, auto_now_add=False, **kwds)source
-
Bases: google.appengine.ext.db.DateTimeProperty
Uma propriedade de data, que armazena uma data sem hora.
- data_type
-
alias de date
- get_updated_value_for_datastore(model_instance)source
Recebe um novo valor para a propriedade a ser enviada ao armazenamento de dados.
Retornanow() conforme apropriado para a instância de data no caso ímpar em que auto_now está definido como True, ou AUTO_UPDATE_UNCHANGED.
- get_value_for_datastore(model_instance)source
-
Recebe valor da propriedade a ser enviada ao armazenamento de dados.
Recuperamos uma datetime.date da instância do modelo e retornamos uma instância de datetime.datetime com a hora definida como zero.
Consulte a documentação do método da classe base para detalhes.
- make_value_from_datastore(value)source
-
Representação nativa dessa propriedade.
Recebemos uma datetime.datetime recuperada da entidade e retornamos uma instância de datetime.date que representa a parte de data.
Consulte a documentação do método da classe base para detalhes.
- static now()source
Receba now como um valor de data e hora.
RetornaSomente a parte "date" de "now".
- validate(value)source
Valide a data.
RetornaUm valor válido.
Gera-
BadValueError caso a propriedade não seja uma instância de "date"
-
ou caso seja uma instância de "datetime" (que é uma subclasse
-
de "date", mas para todos os efeitos práticos, um tipo diferente).
-
- class google.appengine.ext.db.DateTimeProperty(verbose_name=None, auto_now=False, auto_now_add=False, **kwds)source
-
Bases: google.appengine.ext.db.Property
A classe base de todas as nossas propriedades de data/hora.
Processamos operações comuns, como a conversão entre tuplas de time e instâncias de datetime.
- data_type
-
alias de datetime
- default_value()source
Valor padrão de datetime.
Retornavalor de now() conforme apropriado para a instância de date-time, caso auto_now ou auto_now_add esteja definido, ou a implementação do valor configurado pelo usuário.
- get_updated_value_for_datastore(model_instance)source
Recebe um novo valor para a propriedade a ser enviada ao armazenamento de dados.
Retornanow() conforme apropriado para a instância de date-time no caso raro em que auto_now está definido como True, ou AUTO_UPDATE_UNCHANGED.
- static now()source
Recebe now como um valor de data e hora inteiro.
Retorna"now" como um carimbo de data/hora inteiro, inclusive hora e data.
- validate(value)source
Valide a data e a hora.
RetornaUm valor válido.
GeraBadValueError caso a propriedade não seja uma instância de "datetime".
- exception google.appengine.ext.db.DerivedPropertyErrorsource
-
Bases: google.appengine.api.datastore_errors.Error
Gerado durante a tentativa de atribuir um valor a uma propriedade derivada.
- exception google.appengine.ext.db.DuplicatePropertyErrorsource
-
Bases: google.appengine.api.datastore_errors.Error
Gerado quando uma propriedade está duplicada em uma definição de modelo.
- class google.appengine.ext.db.EmailProperty(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: google.appengine.ext.db._CoercingProperty
Uma propriedade com valores que são instâncias de Email.
- data_type
-
alias de Email
- class google.appengine.ext.db.Expando(parent=None, key_name=None, _app=None, **kwds)source
Bases: google.appengine.ext.db.Model
Modelo expansível dinamicamente.
Um Expando não exige definição de quaisquer propriedades para ser usado para armazenar informações no armazenamento de dados. Ainda assim, essa definição pode trazer benefícios. As propriedades podem ser adicionadas a um objeto expando com a execução de uma atribuição. A atribuição de propriedades é feita instância por instância. Dessa maneira, é possível que um objeto de um tipo expando tenha propriedades diferentes de outro ou até as mesmas propriedades com tipos diferentes. Ainda é possível definir propriedades em um expando, o que permite que essas propriedades se comportem da mesma maneira que em qualquer outro modelo.
Exemploimport datetime
- classe Song(db.Expando):
-
título = db.StringProperty()
- crazy = Song(title=’Crazy like a diamond’,
-
author=’Lucy Sky’, publish_date=’yesterday’, rating=5.0)
- hoboken = Song(title=’The man from Hoboken’,
-
author=[‘Anthony’, ‘Lou’], publish_date=datetime.datetime(1977, 5, 3))
crazy.last_minute_note=db.Text(‘Get a train to the station.’)
Usos possíveis:
Um uso de um expando é criar um objeto sem estrutura específica e, mais tarde, quando o aplicativo evoluir e estiver no estado certo, alterá-lo para um objeto de modelo normal e definir propriedades explícitas.
Exceções adicionais para expando:
Atributos protegidos (aqueles com nomes que começam com '_') não podem ser usados como propriedades dinâmicas. Esses são nomes reservados para atributos temporários protegidos (não persistentes).
Ordem de pesquisa:
Durante a tentativa de definir ou acessar um valor de atributo, qualquer outra propriedade definida, como métodos e outros valores em __dict__, tem precedência em relação aos valores no armazenamento de dados.
- 1 - Como não é possível para o armazenamento de dados saber que tipo de
-
propriedade armazenar em um valor expando indefinido, definir uma propriedade como None é o mesmo que excluí-la do expando.
- 2 - As variáveis persistentes em Expando não precisam começar com '_'. Essas
-
variáveis são consideradas "protegidas" no Python e são usadas internamente.
- 3 - As propriedades dinâmicas de Expando não podem armazenar listas vazias.
-
A tentativa de atribuir uma lista vazia a uma propriedade dinâmica vai gerar ValueError. As propriedades Static em Expando ainda podem aceitar listas vazias, mas como propriedades Model normais, com uso de None restrito.
- dynamic_properties()source
Determine quais propriedades são específicas da instância da entidade.
RetornaConjunto de nomes que correspondem apenas às propriedades dinâmicas.
- class google.appengine.ext.db.FloatProperty(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: google.appengine.ext.db.Property
Uma propriedade float.
- data_type
-
alias de float
- empty(value)source
A propriedade float está vazia.
0.0 não é um valor vazio.
RetornaTrue se o valor for None, ou False.
- validate(value)source
Valide o float
RetornaUm valor válido.
GeraBadValueError caso a propriedade não seja uma instância de "float".
- class google.appengine.ext.db.GeoPtProperty(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: google.appengine.ext.db._CoercingProperty
Uma propriedade com valores que são instâncias de GeoPt.
- data_type
-
alias de GeoPt
- class google.appengine.ext.db.GqlQuery(query_string, *args, **kwds)source
-
Bases: google.appengine.ext.db._BaseQuery
Uma classe Query que usa a sintaxe de consulta GQL, em vez de .filter() etc.
- bind(*args, **kwds)source
Vincule argumentos (posicionais ou de palavra-chave) à consulta.
Você também pode passar argumentos diretamente para o construtor de consultas. Sempre que você chama bind(), o conjunto anterior de argumentos é substituído pelo novo conjunto. Isso é útil por causa do trabalho árduo na análise da consulta. Dessa maneira, se precisar usar a mesma consulta com conjuntos diferentes de argumentos, você sempre precisará manter o objeto GqlQuery() e chamar bind() nele.
Parâmetros-
*args: argumentos posicionais usados para vincular referências numéricas na consulta.
-
**kwds: argumentos baseados no dicionário para referências nomeadas.
-
- is_distinct()source
- is_keys_only()source
- projection()source
- run(**kwargs)source
Iterador desta consulta que processa a propriedade da cláusula LIMIT.
Se a string de consulta GQL contiver uma cláusula LIMIT, essa função buscará todos os resultados antes de retornar um iterador. Do contrário, os resultados são recuperados em lotes pelo iterador.
Parâmetroskwargs: quaisquer argumentos de palavra-chave aceitos por datastore_query.QueryOptions().
RetornaIterador desta consulta.
- class google.appengine.ext.db.IMProperty(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: google.appengine.ext.db._CoercingProperty
Uma propriedade com valores que são instâncias de IM.
- data_type
-
alias de IM
- class google.appengine.ext.db.Index(index_id, kind, has_ancestor, properties)source
-
Bases: google.appengine.api.datastore._BaseIndex
Um índice de armazenamento de dados.
- has_ancestor()source
-
Indica se este é um índice de ancestral, um booleano.
- id()source
-
Retorna o código do índice, um longo.
- kind()source
-
Retorna o tipo de índice, uma string. String vazia (''), caso não haja nenhuma.
- properties()source
-
Retorna as propriedades do índice. Uma tupla de (nome do índice como uma string, [ASCENDING|DESCENDING]).
- class google.appengine.ext.db.IntegerProperty(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: google.appengine.ext.db.Property
Uma propriedade de número inteiro.
- data_type
-
alias de int
- empty(value)source
A propriedade integer está vazia.
0 não é um valor vazio.
RetornaTrue se o valor for None, ou False.
- validate(value)source
Valide a propriedade integer.
RetornaUm valor válido.
GeraBadValueError caso o valor não seja um inteiro ou uma instância longa.
- google.appengine.ext.db.KEY_RANGE_COLLISION = 'Collision'source
-
Indica que já existem entidades com chaves dentro do intervalo de chaves indicado e que gravar nesse intervalo substituirá essas entidades. Além disso, as implicações de KEY_RANGE_COLLISION se aplicam. Se a substituição de entidades existentes nesse intervalo for aceitável, será seguro usar o intervalo indicado.
O alocador de código automático do armazenamento de dados jamais atribuirá uma chave a uma nova entidade que substituirá uma entidade existente. Dessa maneira, as entidades gravadas pelo usuário nesse intervalo jamais serão substituídas por uma entidade com uma chave atribuída automaticamente.
- google.appengine.ext.db.KEY_RANGE_CONTENTION = 'Contention'source
-
Indica que o intervalo de chaves indicado está vazio, mas o alocador de código automático do armazenamento de dados pode atribuir novas chaves de entidades nesse intervalo. Porém, é seguro atribuir manualmente chaves nesse intervalo caso uma das seguintes opções seja verdadeira:
-
Nenhuma outra solicitação vai inserir entidades com o mesmo tipo e pai do intervalo de chaves indicado até que todas as entidades com chaves atribuídas manualmente desse intervalo tenham sido gravadas.
-
A substituição de entidades gravadas por outras solicitações com os mesmos tipo e pai do intervalo de chaves indicado é aceitável.
O alocador de código automático do armazenamento de dados não atribuirá uma chave a uma nova entidade que substituirá uma entidade existente. Dessa maneira, depois que o intervalo for preenchido, não haverá mais contenção.
-
- google.appengine.ext.db.KEY_RANGE_EMPTY = 'Empty'source
-
Indica que o intervalo de chaves indicado está vazio e que o alocador de códigos automático do armazenamento de dados não atribuirá chaves nesse intervalo a novas entidades.
- exception google.appengine.ext.db.KindErrorsource
-
Bases: google.appengine.api.datastore_errors.BadValueError
Gerado quando uma entidade é usada com Model incorreto.
- class google.appengine.ext.db.LinkProperty(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: google.appengine.ext.db._CoercingProperty
Uma propriedade com valores que são instâncias de Link.
- data_type
-
alias de Link
- validate(value)source
- class google.appengine.ext.db.ListProperty(item_type, verbose_name=None, default=None, write_empty_list=None, **kwds)source
-
Bases: google.appengine.ext.db.Property
Uma propriedade que armazena uma lista de elementos.
Esta é uma propriedade parametrizada. O parâmetro precisa ser um tipo de dados válido que não seja uma lista, e todos os itens precisam estar em conformidade com esse tipo.
- data_type
-
alias de list
- default_value()source
Valor padrão de list.
Como a propriedade fornecida para "default" é um valor estático, esse valor precisa ser copiado superficialmente para evitar que todos os campos com valores padrão compartilhem a mesma instância.
RetornaCópia do valor padrão.
- empty(value)source
A propriedade list está vazia.
[] não é um valor vazio.
RetornaTrue se o valor for None, ou False.
- get_value_for_datastore(model_instance)source
Recebe valor da propriedade a ser enviada ao armazenamento de dados.
Retornalista validada apropriada para salvar no armazenamento de dados.
- make_value_from_datastore(value)source
-
Representação nativa dessa propriedade.
Se essa for uma lista de datetime.date ou datetime.time, converteremos a lista de datetime.datetime recuperada da entidade em datetime.date ou datetime.time.
Consulte a documentação do método da classe base para detalhes.
- make_value_from_datastore_index_value(index_value)source
- validate(value)source
Valide a lista.
RetornaUm valor válido.
Gera-
BadValueError caso a propriedade não seja uma lista com itens que são instâncias do
-
item_type fornecido ao construtor.
-
- validate_list_contents(value)source
Valida se todos os itens na lista são do tipo correto.
RetornaA lista validada.
Gera-
BadValueError caso a lista tenha itens que não são instâncias do
-
item_type fornecido ao construtor.
-
- class google.appengine.ext.db.Model(parent=None, key_name=None, _app=None, _from_entity=False, **kwds)source
-
Bases: object
Model é a superclasse de todas as entidades de objeto no armazenamento de dados.
O modelo de programação precisa declarar subclasses do Python da classe Model, declarando propriedades do armazenamento de dados como membros dessa classe. Dessa maneira, se quisesse publicar uma história com título, corpo e data de criação, você faria assim:
- classe Story(db.Model):
-
title = db.StringProperty() body = db.TextProperty() created = db.DateTimeProperty(auto_now_add=True)
Uma instância de modelo pode ter um único pai. As instâncias de modelo sem pai são entidades raiz. É possível consultar com eficiência instâncias pelos pais compartilhados delas. Todos os descendentes de uma única instância raiz também se comportam como um grupo de transações. Isso significa que, quando você trabalha com um membro do grupo em uma transação, todos os descendentes dessa raiz participam da transação. Todas as operações dentro de uma transação neste grupo são ACID.
- classmethod all(**kwds)source
Retorna uma consulta em todas as instâncias desse modelo do armazenamento de dados.
RetornaConsulta que recuperará todas as instâncias da coleção de entidades.
- delete(**kwargs)source
Exclui essa entidade do armazenamento de dados.
Parâmetrosconfig: datastore_rpc.Configuration a ser usado para essa solicitação.
GeraTransactionFailedError caso os dados não possam ser confirmados.
- dynamic_properties()source
-
Retorna uma lista de todas as propriedades dinâmicas definidas para a instância.
- classmethod entity_type()source
-
Alias a ser removido em breve para o tipo.
- classmethod fields()source
-
Alias a ser removido em breve para as propriedades.
- classmethod from_entity(entity)source
Converte a representação da entidade desse modelo em uma instância.
Converte instância datastore.Entity em instância de cls.
Parâmetrosentity: entidade carregada diretamente do armazenamento de dados.
GeraKindError quando cls é um modelo incorreto da entidade.
- classmethod get(keys, **kwargs)source
Busque a instância do armazenamento de dados de um tipo de modelo específico usando a chave.
Aceitamos objetos Key e chaves de string, que são convertidas em objetos Key automaticamente.
Isso é útil para garantir que tipos de instância específicos sejam recuperados do armazenamento de dados. Também ajuda o código-fonte a indicar claramente o tipo de objeto que está sendo recuperado. Exemplo:
story = Story.get(story_key)
Parâmetros-
keys: chave dentro da coleção de entidades do armazenamento de dados a ser encontrada, chave de string ou lista de chaves ou de chaves de string.
-
config: datastore_rpc.Configuration a ser usado para essa solicitação.
Uma instância de Model associada à chave da classe fornecida, caso ela exista no armazenamento de dados, ou None. Caso uma lista de chaves tenha sido fornecida: uma lista em que list[i] é a instância de Model para keys[i], ou None caso não haja instância.
Tipo de retornoCaso uma única chave tenha sido fornecida
Gera-
KindError caso algum dos objetos recuperados não seja instância do
-
tipo associado à chamada para "get".
-
- classmethod get_by_id(ids, parent=None, **kwargs)source
Receba a instância da classe Model por código.
Parâmetros-
key_names: um único código ou uma lista de códigos.
-
parent: pai de instâncias a serem recebidas. Pode ser um modelo ou uma chave.
-
config: datastore_rpc.Configuration a ser usado para essa solicitação.
-
- classmethod get_by_key_name(key_names, parent=None, **kwargs)source
Receba a instância da classe Model por nome da chave.
Parâmetros-
key_names: um único nome de chave ou uma lista de nomes de chave.
-
parent: pai de instâncias a serem recebidas. Pode ser um modelo ou uma chave.
-
config: datastore_rpc.Configuration a ser usado para essa solicitação.
-
- classmethod get_or_insert(key_name, **kwds)source
Recupere ou crie de maneira transacional uma instância de classe Model.
Isso funciona de maneira muito semelhante ao método setdefault() do dicionário do Python, em que primeiro tentamos recuperar uma instância de Model com o nome da chave e o pai fornecidos. Caso não esteja presente, criamos uma nova instância (usando os *kwds fornecidos) e a inserimos com o nome da chave fornecido.
As chamadas subsequentes a esse método com o mesmo nome de chave e pai sempre produzirão a mesma entidade (mas não a mesma instância de objeto real), independentemente dos *kwds fornecidos. Se a entidade especificada tiver sido excluída separadamente de alguma forma, a próxima chamada criará uma nova entidade e a retornará.
Se o argumento de palavra-chave "parent" for fornecido, ele precisará ser uma instância de Model. Ele será usado como o pai da nova instância dessa classe Model, se um tiver sido criado.
Esse método é especialmente útil por ter apenas uma entidade exclusiva para um identificador específico. A inserção/recuperação é feita de maneira transacional, o que garante exclusividade.
Exemplo de uso:
- classe WikiTopic(db.Model):
-
creation_date = db.DatetimeProperty(auto_now_add=True) body = db.TextProperty(required=True)
# Na primeira vez, criaremos o novo tópico. wiki_word = ‘CommonIdioms’ topic = WikiTopic.get_or_insert(wiki_word,
body=’This topic is totally new!’)
assert topic.key().name() == ‘CommonIdioms’ assert topic.body == ‘This topic is totally new!’
# Na segunda vez, apenas recuperaremos a entidade. overwrite_topic = WikiTopic.get_or_insert(wiki_word,
body=’A totally different message!’)
assert topic.key().name() == ‘CommonIdioms’ assert topic.body == ‘This topic is totally new!’
Parâmetros-
key_name: nome da chave a ser recuperado ou criado.
-
**kwds: argumentos de palavra-chave a serem passados para o construtor da classe de modelo, caso uma instância do nome da chave especificada ainda não exista. Se uma instância com key_name e o pai já existir, o restante desses argumentos será descartado.
A instância existente da classe Model com o key_name e o pai especificados ou uma nova, recém-criada.
Gera-
TransactionFailedError caso a instância de Model especificada não possa ser
-
recuperada ou criada de maneira transacional (por causa da alta contenção etc).
- classmethod gql(query_string, *args, **kwds)source
Retorna uma consulta usando a string de consulta GQL.
Consulte appengine/ext/gql para mais informações sobre GQL.
Parâmetros-
query_string: string de consulta GQL devidamente formatada com a parte "SELECT * FROM <entity>" omitida.
-
*args: restante dos argumentos posicionais usados para vincular referências numéricas na consulta.
-
**kwds: argumentos baseados em dicionário (para parâmetros nomeados).
-
- has_key()source
Determine se esta instância de modelo tem uma chave completa.
Quando não se usa uma Key totalmente autoatribuída, os códigos não são atribuídos até os dados serem salvos no armazenamento de dados, mas instâncias com um nome de chave sempre têm uma chave completa.
RetornaTrue caso o objeto tenha sido mantido no armazenamento de dados ou tenha uma chave, ou key_name. Do contrário, False.
- instance_properties()source
-
Alias de dyanmic_properties.
- is_saved()source
Determine se a entidade é mantida no armazenamento de dados.
Novas instâncias de Model não começam salvas nos dados. Os objetos salvos ou carregados no armazenamento de dados terão um estado salvo True.
RetornaTrue caso o objeto tenha sido mantido no armazenamento de dados. Do contrário, False.
- key()source
Chave única para esta entidade.
Essa propriedade só estará disponível se essa entidade já estiver no armazenamento de dados ou se tiver uma chave completa. Dessa maneira, ela estará disponível se essa entidade buscada tiver sido retornada de uma consulta ou depois que put() for chamado pela primeira vez para novas entidades, ou se uma chave completa tiver sido fornecida quando construída.
RetornaChave do armazenamento de dados da entidade mantida.
GeraNotSavedError quando a entidade não é mantida.
- classmethod kind()source
-
Retorna o tipo de armazenamento de dados que usamos neste modelo.
Usamos apenas o nome do modelo por enquanto, ignorando possíveis colisões.
- parent()source
Receba o pai da instância do modelo.
RetornaPai da entidade contida ou pai fornecido no construtor. None caso a instância não tenha pai.
- parent_key()source
Receba a chave do pai.
Esse método é útil para evitar uma possível busca no armazenamento de dados, mas ainda assim receber informações sobre o pai das instâncias.
RetornaChave pai da entidade. None, caso não haja pai.
- classmethod properties()source
-
Retorna um dicionário de todas as propriedades definidas para este modelo.
- put(**kwargs)source
Grava essa instância de modelo no armazenamento de dados.
Caso essa instância seja nova, adicionaremos uma entidade ao armazenamento de dados. Do contrário, atualizaremos essa instância, e a chave permanecerá a mesma.
Parâmetrosconfig: datastore_rpc.Configuration a ser usado para essa solicitação.
RetornaA chave da instância (existente ou nova).
GeraTransactionFailedError caso os dados não possam ser confirmados.
- save(**kwargs)source
Grava essa instância de modelo no armazenamento de dados.
Caso essa instância seja nova, adicionaremos uma entidade ao armazenamento de dados. Do contrário, atualizaremos essa instância, e a chave permanecerá a mesma.
Parâmetrosconfig: datastore_rpc.Configuration a ser usado para essa solicitação.
RetornaA chave da instância (existente ou nova).
GeraTransactionFailedError caso os dados não possam ser confirmados.
- to_xml(_entity_class=google.appengine.api.datastore.Entity)source
-
Gere uma representação XML dessa instância do modelo.
As propriedades atom e gd:namespace são convertidas em XML, de acordo com os respectivos esquemas delas. Veja mais informações em:
http://www.atomenabled.org/developers/syndication/ https://developers.google.com/gdata/docs/1.0/elements
- exception google.appengine.ext.db.NotSavedErrorsource
-
Bases: google.appengine.api.datastore_errors.Error
Gerado quando uma ação de objeto salvo é executada em um objeto não salvo.
- class google.appengine.ext.db.PhoneNumberProperty(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: google.appengine.ext.db._CoercingProperty
Uma propriedade com valores que são instâncias de PhoneNumber.
- data_type
-
alias de PhoneNumber
- class google.appengine.ext.db.PostalAddressProperty(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: google.appengine.ext.db._CoercingProperty
Uma propriedade com valores que são instâncias de PostalAddress.
- data_type
-
alias de PostalAddress
- class google.appengine.ext.db.PropertiedClass(name, bases, dct, map_kind=True)source
-
Bases: type
Metaclasse para inicializar propriedades da classe Model.
Usado para inicializar propriedades definidas no contexto de um modelo. Com o uso de uma metaclasse, boa parte da configuração de um descritor Property se torna implícita. Quando essa metaclasse é usada, os descritores da classe Model são notificados sobre a que classe eles pertencem e a que atributo eles estão associados e podem fazer a inicialização apropriada por meio de __property_config__.
As propriedades duplicadas não são permitidas.
- class google.appengine.ext.db.Property(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: object
Property é um atributo de um Model.
Ele define o tipo do atributo, que determina como ele é colocado no armazenamento de dados e como os valores da propriedade são validados. Tipos diferentes de propriedade aceitam opções distintas, que alteram regras de validação, valores padrão etc. O exemplo mais simples de propriedade é uma StringProperty:
- classe Story(db.Model):
-
título = db.StringProperty()
- creation_counter = 41
- data_type
-
alias de str
- datastore_type()source
-
Método de acesso compatível com versões anteriores obsoletas para self.data_type.
- default_value()source
Valor padrão para valores não atribuídos.
RetornaValor padrão fornecido por __init __ (padrão).
- empty(value)source
Determine se o valor está vazio no contexto dessa propriedade.
Para a maioria dos tipos, isso equivale a "não valor", mas para tipos como bool, o teste é mais sutil. Dessa maneira, as subclasses poderão substituir esse método, se necessário.
Parâmetrosvalue: valor a ser validado em relação a esta propriedade.
RetornaTrue caso esse valor seja considerado vazio no contexto desse tipo de propriedade. Do contrário, False.
- get_updated_value_for_datastore(model_instance)source
Determine o novo valor para a propriedade atualizada automaticamente.
Algumas propriedades (por exemplo, DateTimeProperty, UserProperty) podem atualizar opcionalmente o valor delas em cada put(). Essa chamada precisa retornar o novo valor desejado para essas propriedades. Para todas as outras propriedades, essa chamada precisa retornar AUTO_UPDATE_UNCHANGED.
Parâmetrosmodel_instance: instância para receber o novo valor.
RetornaRepresentação do armazenamento de dados do novo valor de modelo em um formato apropriado para o armazenamento de dados ou AUTO_UPDATE_UNCHANGED.
- get_value_for_datastore(model_instance)source
Representação do armazenamento de dados dessa propriedade.
Procura essa propriedade na instância de modelo fornecida e retorna a representação do armazenamento de dados apropriada do valor que pode estar em uma entidade de armazenamento de dados. De maneira mais crítica, ele buscará o valor da chave do armazenamento de dados para propriedades de referência.
Algumas propriedades (por exemplo, DateTimeProperty, UserProperty) podem atualizar opcionalmente o valor delas em cada put(). Essa chamada precisa retornar o valor atual dessas propriedades (get_updated_value_for_datastore retorna o novo valor).
Parâmetrosmodel_instance: instância para buscar o valor do armazenamento de dados.
RetornaRepresentação do armazenamento de dados do valor de modelo em um formato apropriado para o armazenamento de dados.
- make_value_from_datastore(value)source
Representação nativa dessa propriedade.
Dado um valor recuperado de uma entidade de armazenamento de dados, retorne um valor, possivelmente convertido, a ser armazenado na instância do modelo. Isso normalmente retorna o valor inalterado, mas uma classe de propriedade pode modificar isso ao usar um tipo de dados na instância do modelo que é diferente do tipo na entidade.
Essa API não é bem simétrica com get_value_for_datastore(), porque a instância de modelo na qual armazenar o valor convertido talvez não exista ainda. Podemos coletar valores a serem passados para um construtor de modelos.
Parâmetrosvalue: valor recuperado da entidade do armazenamento de dados.
RetornaO valor convertido a ser usado como um atributo da instância de modelo.
- make_value_from_datastore_index_value(index_value)source
- validate(value)source
Declare que o valor fornecido é compatível com essa propriedade.
Parâmetrosvalue: valor a ser validado em relação a esta propriedade.
RetornaUm valor válido, a entrada inalterada ou adaptada ao tipo obrigatório.
Gera-
BadValueError caso o valor não seja apropriado para esta
-
propriedade de alguma forma.
-
- exception google.appengine.ext.db.PropertyErrorsource
-
Bases: google.appengine.api.datastore_errors.Error
Gerado quando a propriedade não existente é referenciada.
- class google.appengine.ext.db.Query(model_class=None, keys_only=False, cursor=None, namespace=None, _app=None, distinct=False, projection=None)source
-
Bases: google.appengine.ext.db._BaseQuery
Uma instância de Query consulta instâncias de Models.
Você cria uma consulta com uma classe de modelo assim:
- classe Story(db.Model):
-
title = db.StringProperty() date = db.DateTimeProperty()
query = Query(Story)
Você modifica uma consulta com filtros e ordens assim:
query.filter(‘title =’, ‘Foo’) query.order(‘-date’) query.ancestor(key_or_model_instance)
Cada consulta pode retornar um iterador. Dessa maneira, você acessa os resultados de uma consulta iterando-a:
- para a história na consulta:
-
print story.title
Por praticidade, todos os métodos de filtragem e ordenação retornam "self". Dessa maneira, o jeito mais fácil de usar a interface de consulta é colocar em cascata todos os filtros e as ordens na linha do iterador assim:
- for story in Query(story).filter(‘title =’, ‘Foo’).order(‘-date’):
-
print story.title
- ancestor(ancestor)source
Define um ancestral para esta consulta.
Isso restringe a consulta a retornar apenas resultados descendentes de uma determinada instância de modelo. Em outras palavras, todos os resultados terão o ancestral como pai ou pai do pai etc. O ancestral também é um possível resultado.
Parâmetrosancestor: Model ou Key (já salvos)
RetornaO próprio parâmetro para aceitar o encadeamento de métodos.
Gera-
TypeError caso o argumento não seja um Key ou Model. NotSavedError
-
caso seja, mas ainda não esteja salvo.
-
- filter(property_operator, value)source
Adicione filtro à consulta.
Parâmetros-
property_operator: string com a propriedade e o operador para filtragem.
-
value: o valor do filtro.
O próprio parâmetro para aceitar o encadeamento de métodos.
GeraPropertyError caso a propriedade inválida seja fornecida.
-
- is_distinct()source
- is_keys_only()source
- order(property)source
Defina a ordem do resultado da consulta.
Para usar ordem decrescente, acrescente "-" (sinal de subtração) ao nome da propriedade. Por exemplo, "-date", em vez de "date".
Parâmetrosproperty: propriedade para classificação.
RetornaO próprio parâmetro para aceitar o encadeamento de métodos.
GeraPropertyError caso a propriedade inválida seja fornecida.
- projection()source
- class google.appengine.ext.db.RatingProperty(verbose_name=None, name=None, default=None, required=False, validator=None, choices=None, indexed=True)source
-
Bases: google.appengine.ext.db._CoercingProperty, google.appengine.ext.db.IntegerProperty
Uma propriedade com valores que são instâncias de Rating.
- data_type
-
alias de Rating
- google.appengine.ext.db.Reference
-
alias de ReferenceProperty
- class google.appengine.ext.db.ReferenceProperty(reference_class=None, verbose_name=None, collection_name=None, **attrs)source
-
Bases: google.appengine.ext.db.Property
Uma propriedade que representa uma referência de muitos para um a outro modelo.
Por exemplo, uma propriedade de referência no modelo A que se refere ao modelo B forma um relacionamento de muitos para um de A a B: toda instância de A se refere a uma única instância de B, e toda instância de B pode ter muitas instâncias de A que se referem a ela.
- get_value_for_datastore(model_instance)source
-
Receba a chave de referência, em vez da própria referência.
- make_value_from_datastore_index_value(index_value)source
- validate(value)source
Valide a referência.
RetornaUm valor válido.
GeraBadValueError pelas seguintes razões: o valor não é salvo. O objeto não é do tipo de modelo correto para referência.
- exception google.appengine.ext.db.ReservedWordErrorsource
-
Bases: google.appengine.api.datastore_errors.Error
Gerado quando uma propriedade é definida para uma palavra reservada.
- google.appengine.ext.db.SelfReference(verbose_name=None, collection_name=None, **attrs)source
Crie uma autorreferência.
Função para declarar uma propriedade de autorreferência em um modelo.
Exemplo- classe HtmlNode(db.Model):
-
pai = db.SelfReferenceProperty(‘Parent’, ‘children’)
-
verbose_name: nome da propriedade amigável.
-
collection_name: nome da coleção no modelo.
ConfigurationError caso reference_class seja fornecido como parâmetro.
- google.appengine.ext.db.SelfReferenceProperty(verbose_name=None, collection_name=None, **attrs)source
Crie uma autorreferência.
Função para declarar uma propriedade de autorreferência em um modelo.
Exemplo- classe HtmlNode(db.Model):
-
pai = db.SelfReferenceProperty(‘Parent’, ‘children’)
-
verbose_name: nome da propriedade amigável.
-
collection_name: nome da coleção no modelo.
ConfigurationError caso reference_class seja fornecido como parâmetro.
- class google.appengine.ext.db.StringListProperty(verbose_name=None, default=None, write_empty_list=None, **kwds)source
-
Bases: google.appengine.ext.db.ListProperty
Uma propriedade que armazena uma lista de strings.
Uma forma abreviada do tipo mais comum de ListProperty.
- class google.appengine.ext.db.StringProperty(verbose_name=None, multiline=False, **kwds)source
-
Bases: google.appengine.ext.db.Property
Uma propriedade textual, que pode ter uma ou várias linhas.
- MAX_LENGTH = 1500
- data_type
-
alias de basestring
- validate(value)source
Valide a propriedade da string.
RetornaUm valor válido.
GeraBadValueError caso a propriedade não seja multilinha, mas o valor seja.
- class google.appengine.ext.db.TextProperty(*args, **kwds)source
-
Bases: google.appengine.ext.db.UnindexedProperty
Uma string que pode ter mais de 1.500 bytes.
- data_type
-
alias de Text
- class google.appengine.ext.db.TimeProperty(verbose_name=None, auto_now=False, auto_now_add=False, **kwds)source
-
Bases: google.appengine.ext.db.DateTimeProperty
Uma propriedade de hora, que armazena uma hora sem uma data.
- data_type
-
alias de time
- empty(value)source
A propriedade time está vazia.
"0.0" (meia-noite) não é um valor vazio.
RetornaTrue se o valor for None, ou False.
- get_updated_value_for_datastore(model_instance)source
Recebe um novo valor para a propriedade a ser enviada ao armazenamento de dados.
Retornanow() conforme apropriado para a instância de hora no caso raro em que auto_now está definido como True, ou AUTO_UPDATE_UNCHANGED.
- get_value_for_datastore(model_instance)source
-
Recebe valor da propriedade a ser enviada ao armazenamento de dados.
Recuperamos uma datetime.date da instância do modelo e retornamos uma instância de datetime.datetime com a data definida como 01/01/1970.
Consulte a documentação do método da classe base para detalhes.
- make_value_from_datastore(value)source
-
Representação nativa dessa propriedade.
Recebemos uma datetime.datetime recuperada da entidade e retornamos uma instância de datetime.date que representa a parte de hora.
Consulte a documentação do método da classe base para detalhes.
- static now()source
Recebe now como um valor time datetime.
RetornaParte "time" somente de "now".
- google.appengine.ext.db.URLProperty
-
alias de LinkProperty
- class google.appengine.ext.db.UnindexedProperty(*args, **kwds)source
-
Bases: google.appengine.ext.db.Property
Uma propriedade não indexada por índices internos ou compostos.
TextProperty e BlobProperty derivam dessa classe.
- validate(value)source
Valide a propriedade.
RetornaUm valor válido.
GeraBadValueError caso a propriedade não seja instância de data_type.
- class google.appengine.ext.db.UserProperty(verbose_name=None, name=None, required=False, validator=None, choices=None, auto_current_user=False, auto_current_user_add=False, indexed=True)source
-
Bases: google.appengine.ext.db.Property
Uma propriedade usar.
- data_type
-
alias de User
- default_value()source
Valor padrão do usuário.
RetornaValor de users.get_current_user() caso auto_current_user ou auto_current_user_add esteja definido, ou None. Mas não na implementação padrão, porque não aceitamos o argumento de palavra-chave "default".
- get_updated_value_for_datastore(model_instance)source
Recebe um novo valor para a propriedade a ser enviada ao armazenamento de dados.
RetornaValor de users.get_current_user() caso auto_current_user esteja definido, ou AUTO_UPDATE_UNCHANGED.
- validate(value)source
Valide o usuário.
RetornaUm valor válido.
GeraBadValueError caso a propriedade não seja uma instância de "User".
- google.appengine.ext.db.allocate_id_range(model, start, end, **kwargs)source
Aloca um intervalo de códigos com pontos de extremidade específicos.
Depois que esses códigos tiverem sido alocados, eles poderão ser fornecidos manualmente para entidades recém-criadas.
Como o alocador de códigos automático do armazenamento de dados jamais atribuirá uma chave a uma nova entidade que fará uma existente ser substituída, as entidades gravadas no intervalo de chaves especificado nunca serão substituídas. Porém, criar entidades com chaves atribuídas manualmente neste intervalo pode substituir entidades existentes (ou novas entidades criadas por uma solicitação separada) dependendo do estado do intervalo de chaves retornado.
Esse método só será usado se você tiver um intervalo de códigos numéricos existente que quiser reservar, como entidades de carregamento em massa que já tenham códigos. Se você não se preocupar com códigos recebidos, use allocate_ids().
Parâmetros-
model: instância de Model, Key ou string a ser veiculada como um modelo que especifica a sequência na qual alocar códigos. Os códigos alocados só precisam ser usados em entidades com o mesmo pai (se houver) e o tipo dessa chave.
-
start: primeiro código do intervalo a ser alocado, inclusive.
-
end: último código do intervalo a ser alocado, inclusive.
-
config: datastore_rpc.Configuration a ser usado para essa solicitação.
Um de (KEY_RANGE_EMPTY, KEY_RANGE_CONTENTION, KEY_RANGE_COLLISION). Se não for KEY_RANGE_EMPTY, ele representará um problema em potencial no uso do intervalo de chaves alocado.
-
- google.appengine.ext.db.allocate_ids(model, size, **kwargs)source
Aloca um intervalo de códigos de tamanho do model_key definido por modelo.
Aloca um intervalo de códigos no armazenamento de dados. Dessa maneira, esses códigos não serão atribuídos automaticamente a novas entidades. Só é possível alocar IDs para chaves de modelo do seu aplicativo. Caso haja um erro, gera uma subclasse de datastore_errors.Error.
Parâmetros-
model: instância de Model, Key ou string a ser veiculada como um modelo que especifica a sequência na qual alocar códigos. Os códigos retornados só precisam ser usados em entidades com o mesmo pai (se houver) e o tipo dessa chave.
-
size: número de códigos a serem alocados.
-
config: datastore_rpc.Configuration a ser usado para essa solicitação.
(start, end) do intervalo alocado, inclusive.
-
- google.appengine.ext.db.allocate_ids_async(model, size, **kwargs)source
-
Aloca de maneira assíncrona um intervalo de códigos.
Idêntico a allocate_ids(), exceto por retornar um objeto assíncrono. Chame get_result () no valor de retorno a ser bloqueado na chamada e retorne o resultado.
- google.appengine.ext.db.check_reserved_word(attr_name)source
Gere uma exceção caso o nome do atributo seja uma palavra reservada.
Parâmetrosattr_name: nome a ser verificado caso ela seja uma palavra reservada.
GeraReservedWordError quando se determina que attr_name é uma palavra reservada.
- google.appengine.ext.db.class_for_kind(kind)source
Retorna a classe base responsável por implementar o tipo.
Necessário para recuperar a classe responsável por implementar o tipo fornecido.
Parâmetroskind: string do tipo de entidade.
RetornaImplementação da classe do tipo.
GeraKindError quando não há implementação do tipo.
- google.appengine.ext.db.create_rpc(deadline=None, callback=None, read_policy=0)source
Crie uma RPC a ser usada na configuração de chamadas do armazenamento de dados.
OBSERVAÇÃO: esta função existe para compatibilidade com versões anteriores. Use create_config() em vez disso. OBSERVAÇÃO: este último usa "on_completion", uma função que utiliza um argumento, e create_rpc usa "callback", que é uma função sem argumentos.
Parâmetros-
deadline: flutuante, prazo para chamadas em segundos.
-
callback: chamável, um retorno de chamada acionado quando esta RPC é concluída. Aceita um argumento, que é a RPC retornada.
-
read_policy: sinalização, definida como EVENTUAL_CONSISTENCY, para ativar leituras com consistência eventual.
Uma instância de datastore.DatastoreRPC.
-
- google.appengine.ext.db.delete(models, **kwargs)source
Exclua uma ou mais instâncias de Model.
Parâmetros-
models: instância de Model, chave, string de chave ou iterável.
-
config: datastore_rpc.Configuration a ser usado para essa solicitação. Precisa ser especificado como um argumento de palavra-chave.
TransactionFailedError caso os dados não possam ser confirmados.
-
- google.appengine.ext.db.delete_async(models, **kwargs)source
-
Versão assíncrona de exclusão de uma ou mais instâncias de Model.
Idêntica a db.delete(), exceto por retornar um objeto assíncrono. Chame get_result() no valor de retorno para bloqueio na chamada.
- google.appengine.ext.db.get(keys, **kwargs)source
Busque a instância de Model específica com a chave fornecida do armazenamento de dados.
Aceitamos objetos Key e chaves de string, que são convertidas em objetos Key automaticamente.
Parâmetros-
keys: chave dentro da coleção de entidades do armazenamento de dados a ser encontrada, chave de string ou lista de chaves ou de chaves de string.
-
config: datastore_rpc.Configuration a ser usado para essa solicitação. Precisa ser especificado como um argumento de palavra-chave.
-
Retorna: uma instância de Model associada à chave, caso ela exista no armazenamento de dados e uma única chave tenha sido fornecida. Do contrário, None. Caso uma lista de chaves tenha sido fornecida: uma lista em que list[i] é a instância de Model para keys[i], ou None caso não haja instância.
-
- google.appengine.ext.db.get_async(keys, **kwargs)source
-
Busque de maneira assíncrona as instâncias de Model especificadas no armazenamento de dados.
Idêntico a db.get(), exceto por retornar um objeto assíncrono. Chame get_result() no valor de retorno a ser bloqueado na chamada e receba os resultados.
- google.appengine.ext.db.get_indexes(**kwargs)source
Retorna os índices de aplicativo e os estados deles.
Parâmetrosconfig: datastore_rpc.Configuration a ser usado para essa solicitação. Precisa ser especificado como um argumento de palavra-chave.
RetornaUma lista (Index, Index.[BUILDING|SERVING|DELETING|ERROR]) Um índice pode estar nos seguintes estados:
Index.BUILDING: o índice está sendo criado e, portanto, não pode exibir consultas Index.SERVING: o índice está pronto para exibir consultas Index.DELETING: o índice está sendo excluído Index.ERROR: o índice encontrou um erro no estado BUILDING
- google.appengine.ext.db.get_indexes_async(**kwargs)source
-
Recupera de maneira assíncrona os índices de aplicativo e os estados deles.
Idêntico a get_indexes(), exceto por retornar um objeto assíncrono. Chame get_result() no valor de retorno a ser bloqueado na chamada e receba os resultados.
- google.appengine.ext.db.model_from_protobuf(pb, _entity_class=google.appengine.api.datastore.Entity)source
Decodifica uma instância de modelo com base em um buffer de protocolo.
Parâmetrospb: a representação do buffer de protocolo da instância do modelo. Pode ser uma entity_pb.EntityProto ou codificação str de uma entity_bp.EntityProto
RetornaInstância de modelo resultante da decodificação do buffer de protocolo
- google.appengine.ext.db.model_is_projection(model_instance)source
-
Retorna verdadeiro se a instância db.Model fornecida contém apenas uma projeção da entidade completa.
- google.appengine.ext.db.model_to_protobuf(model_instance, _entity_class=google.appengine.api.datastore.Entity)source
Codifica uma instância de modelo como um buffer de protocolo.
Parâmetrosmodel_instance: instância de modelo a ser codificada.
RetornaRepresentação entity_pb.EntityProto da instância de modelo.
- google.appengine.ext.db.put(models, **kwargs)source
Armazene uma ou mais instâncias de Model.
Parâmetros-
models: instância do modelo ou lista de instâncias do modelo.
-
config: datastore_rpc.Configuration a ser usado para essa solicitação. Precisa ser especificado como um argumento de palavra-chave.
Uma Key caso o modelo seja uma instância, uma lista de Keys na mesma ordem de modelos caso estes sejam uma lista.
GeraTransactionFailedError caso os dados não possam ser confirmados.
-
- google.appengine.ext.db.put_async(models, **kwargs)source
-
Armazene de maneira assíncrona uma ou mais instâncias de Model.
Idêntico a db.put(), exceto por retornar um objeto assíncrono. Chame get_result() no valor de retorno a ser bloqueado na chamada e receba os resultados.
- google.appengine.ext.db.query_descendants(model_instance)source
Retorna uma consulta para todos os descendentes de uma instância de modelo.
Parâmetrosmodel_instance: instância de modelo para encontrar os descendentes.
RetornaConsulta que recuperará todas as entidades que tenham a instância do modelo fornecida
como um ancestral. Diferentemente de consultas ancestrais normais, isso não inclui o ancestral propriamente dito.
- google.appengine.ext.db.save(models, **kwargs)source
Armazene uma ou mais instâncias de Model.
Parâmetros-
models: instância do modelo ou lista de instâncias do modelo.
-
config: datastore_rpc.Configuration a ser usado para essa solicitação. Precisa ser especificado como um argumento de palavra-chave.
Uma Key caso o modelo seja uma instância, uma lista de Keys na mesma ordem de modelos caso estes sejam uma lista.
GeraTransactionFailedError caso os dados não possam ser confirmados.
-
- google.appengine.ext.db.to_dict(model_instance, dictionary=None)source
Converta o modelo em dicionário.
Parâmetros-
model_instance: instância do modelo para criar o dicionário.
-
dictionary: instância do dicionário ou compatível para receber valores de modelo. O dicionário não está sem valores originais. Semelhante ao uso de dictionary.update. Caso o dicionário seja None, uma nova instância do dicionário é criada e retornada.
Novo dicionário apropriado preenchido com valores de instâncias de modelo caso a entidade seja None, ou entidade.
-