Acabo de “corrigir” o design do blog e espero que agrade mais ao público. Terminada essa fase de adptação do wordpress vou tentar publicar artigos com mais freqüência.
Há um tempo atrás traduzi uma pequena parte do manual do django, mais específicamete a que fala sobre Models e um trecho da parte que fala sobre o Admin.
A tradução não está perfeita, tão pouco revisada, mas acredito que possa ser compreendida pelos iniciantes no framework.
Parte I
Escrevendo Models
Um modelo é único, é uma representação dos seus dados. Ele contém os campos essenciais e comportamentos dos dados que você está armazenando. Em geral, cada modelo mapeia (representa) uma única tabela do banco de dados.
O Básico:
* Cada modelo é uma classe Python que deriva da subclasse django.db.models.Model e representa uma tabela.
* Cada atributo do modelo representa um campo da tabela.
* Sendo assim, Django provê uma API de geração automática e acesso à banco de dados que permite realizar consultas (query).
Abaixo um exemplo de um model que representa uma Pessoa, contendo um Nome e Sobrenome:
1 2 3 4 5 | from django.db import models class Pessoa(models.Model): Nome = models.CharField(max_length=30) Sobrenome = models.CharField(max_length=30) |
Nome e Sobrenome são atributos, e cada atributo é uma referência à um campo em uma tabela.
Tradução do model acima em SQL:
CREATE TABLE myapp_Pessoa (
"id" INTEGER NOT NULL PRIMARY KEY,
"Nome" VARCHAR(30) NOT NULL,
"Sobrenome" VARCHAR(30) NOT NULL
);
O django adiciona como prefixo no nome da tabela o nome da sua aplicação criada com o manage.py startapp. Por exemplo, se sua aplicação se chama agenda, o nome da tabela será agenda_Pessoa. Para definir um nome para a tabela, deve utilizar a classe Meta e o atributo db_table. Ex.:
1 2 3 4 5 | class Pessoa(models.Model): Nome = models.CharField(max_length=30) Sobrenome = models.CharField(max_length=30) class Meta: db_table = "tb_Pessoa" |
Quando não especificado um atributo para uma chave primária, o django automaticamente cria um campo com o nome “id” na tabela.
Exemplo de definição de chave primária:
1 | id_Pessoa = models.AutoField(primary_key=True) |














Posted in
Tags: 