Changes between Version 4 and Version 5 of DocPtModelAPI


Ignore:
Timestamp:
Nov 1, 2006, 5:22:32 AM (18 years ago)
Author:
anonymous
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DocPtModelAPI

    v4 v5  
    9898      algum metadado do model podendo ser sobrescrito. Olhe _`Nome de
    9999      Tabelas` abaixo.
    100     * Um campo ``id`` é adicionado automaticamente
     100    * Um campo ``id`` é adicionado automaticamente, mas essa ação pode ser
     101      configurada. Olhe `Campos de chave primária automáticos`_ a seguir.
     102    * O código SQL ``CREATE TABLE`` utilizado no exemplo está formatado
     103      na syntax do PostgreSQL, porém é valido notar que o Django utiliza
     104      a syntax de acordo com o tipo de banco de dados especificado no seu
     105      `arquivo de configurações`_.
     106
     107.. _arquivo de configurações: http://www.djangoproject.com/documentation/settings/
     108
     109Campos
     110======
     111
     112A parte mais importante de um model -- e a única obrigatória -- é a
     113definição da lista de campos da base de dados. Esses campos são
     114especificados por atributos de classe.
     115
     116Exemplos:
     117
     118    class Musician(models.Model):
     119        first_name = models.CharField(maxlength=50)
     120        last_name = models.CharField(maxlength=50)
     121        instrument = models.CharField(maxlength=100)
     122
     123Restrições de nomes de campos
     124-----------------------------
     125
     126O Django impõe apenas dois tipos de restrição à nomes de campos:
     127
     128    1. O campo não pode ser nomeado com uma palavra reservada do Python,
     129       porque seu uso ocasionaria em um erro de sintaxe. Por exemplo::
     130
     131           class Example(models.Model):
     132           pass = models.IntegerField() # 'pass' é uma palavre reservada!
     133
     134    2. Um nome de campo não pode possuir mais do que uma sobrelinha por
     135       linha, por causa da sintaxe do Django para buscas no banco. Por
     136       exemplo::
     137
     138           class Example(models.Model):
     139               foo__bar = models.IntegerField() 'foo__bar' possui duas
     140               sobrelinhas!
     141
     142Essas limitações podem ser contornadas, porque o nome do campo não precisa
     143necessariamente conter o nome da coluna do banco de dados. Veja a seção
     144`db_column`_ abaixo.
     145
     146
     147
    101148
    102149}}}
Back to Top