Version 4 (modified by anonymous, 17 years ago) ( diff )

--



THIS TRANSLATION IS IN PROGRESS:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-------------------------------------------------------------------------------------------------+
|    This is an **in progress** translation document, that means there is somebody working on it. |
|    For more information on translating documents please look at `TranslateDocumentation Wiki`_. |
|    Please **do not** edit this page.                                                            |
|                                                                                                 |
| .. _TranslateDocumentation Wiki : http://code.djangoproject.com/wiki/TranslateDocumentation     |
+-------------------------------------------------------------------------------------------------+   

..
  ===============
  Model reference
  ===============

.. sidebar:: Referência dos models
  :subtitle: tradução para o português.

  Documento original: `Django Model Reference`_
  
  Tradução: gabriel `<gabriel.sales at gmail.com>`
  
  Referente a revisão: 3953

.. _Django Model Reference: http://www.djangoproject.com/documentation/model_api/

.. contents:: **Conteúdos do capítulo**

Este documento cobre a versão 0.95 de Django e a versão do desenvolvimento. Docs anteriores: `0.90`_, `0.91`_



.. _0.90: http://www.djangoproject.com/documentation/0_90/ 


.. _0.91: http://www.djangoproject.com/documentation/0_91/ 

=====================
Referência dos Models
=====================

Um model é a fonte única e definitiva dos seus dados, nele estão contidos os
campos essenciais e relacionamentos dos dados que você está arquivando.
Genericamente, cada model referencia a uma tabela no banco de dados.

O básico:

    * Cada model é uma classe Python que é uma subclasse de
      ``django.db.models.Model``.
    * Cada atributo do model representa um campo na base de dados.
    * Metadados do model (informações descritivas dos dados) vão para uma
      classe interior nomeada ``Meta``.
    * Metadados usados para o site de administração do Django vão para a
      classe interior nomeada ``Admin``.
    * A partir disso o Django oferece uma API de acesso ao banco de dados
      gerada automaticamente, que é melhor explicada no
      `Referência da API de Banco de Dados`_.

Associado a esse documento existe o `repositório oficial de exemplos de
models`_.(No código fonte do Django, estes exemplos se encontram no
diretório ``tests/modeltests``.)

.. _Referência da API de Banco de Dados: http://www.djangoproject.com/documentation/db_api/
.. _repositório oficial de exemplos de models: http://www.djangoproject.com/documentation/models/

Exemplo rápido
==============

Este model exemplo define uma ``Person``, que possui um ``first_name`` e
``last_name``::

    from django.db import models

    class Person(models.Model):
        first_name = models.CharField(maxlength=30)
        last_name = models.CharField(maxlength=30)

``first_name`` e ``last_name`` são *campos* do model. Cada campo é
especificado como um atributo da classe, e cada atributo referencia a uma
coluna do banco de dados.

O model ``Person`` acima criaria uma tabela no banco de dados como essa::

    CREATE TABLE myapp_person (
        "id" serial NOT NULL PRIMARY KEY,
        "first_name" varchar(30) NOT NULL,
        "last_name" varchar(30) NOT NULL
    );

Algumas notas técnicas:

    * O nome da tabela, ``myapp_person``, é automaticamente atribuído de
      algum metadado do model podendo ser sobrescrito. Olhe _`Nome de
      Tabelas` abaixo.
    * Um campo ``id`` é adicionado automaticamente

Note: See TracWiki for help on using the wiki.
Back to Top