Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Criando Seu Primeiro Modelo | SQLAlchemy
Bancos de Dados em Python

bookCriando Seu Primeiro Modelo

No SQLAlchemy, criar um modelo envolve definir uma classe Python que corresponde a uma tabela no banco de dados. Cada instância dessa classe representa uma linha na tabela. Vamos analisar um exemplo simples onde criamos um modelo Comment para armazenar comentários de usuários.

from sqlalchemy import Column, Integer, String, Text, DateTime
from sqlalchemy.ext.declarative import declarative_base
from datetime import datetime

Base = declarative_base()

class Comment(Base):
    __tablename__ = "comments"  # the name of the table in the database

    id = Column(Integer, primary_key=True)  # primary key column, uniquely identifies each comment
    content = Column(Text, nullable=False)  # content of the comment, cannot be null
    created_at = Column(DateTime, default=datetime.utcnow)  # timestamp when the comment is created, defaults to current time

# Create all tables defined by models
Base.metadata.create_all(engine)

Isto define uma classe Python chamada Comment, que representa uma tabela no banco de dados. A classe herda de Base, o que permite que ela seja mapeada para uma tabela no banco de dados.

__tablename__ = "comments"

A classe Comment, herdando de Base, define uma tabela no banco de dados. Isso permite que ela seja mapeada para uma tabela do banco de dados utilizando Object-Relational Mapping (ORM).

id = Column(Integer, primary_key=True)

O campo id serve como chave primária, garantindo que cada comentário tenha um identificador único. O SQLAlchemy incrementa automaticamente o valor para cada novo registro.

content = Column(Text, nullable=False)

O campo id armazena o conteúdo do comentário e não pode ser nulo, garantindo que todos os comentários tenham texto associado.

created_at = Column(DateTime, default=datetime.utcnow)

O campo created_at armazena automaticamente o timestamp de quando o comentário foi criado. Se nenhum valor for fornecido, ele é definido para o horário atual usando datetime.utcnow, garantindo que o timestamp seja registrado em UTC.

Base.metadata.create_all(engine)

Esta linha cria todas as tabelas no banco de dados que foram definidas nos modelos. Ela utiliza as informações da metadata e cria as tabelas necessárias através da conexão fornecida pelo engine. Isso é útil para criar automaticamente as tabelas caso ainda não existam.

Tarefa

Swipe to start coding

Nesta tarefa, você recebe um ponto de partida para definir um modelo SQLAlchemy. Seu objetivo é completar o modelo preenchendo as partes que faltam.

  1. O atributo __tablename__ especifica o nome da tabela no banco de dados. Substitua o espaço reservado pelo nome correto da tabela para o modelo User.
  2. A coluna id deve ser marcada como chave primária. Adicione o argumento de palavra-chave correto para indicar isso.
  3. A coluna username deve ser única, ou seja, nenhum usuário pode ter o mesmo nome de usuário. Preencha o argumento de palavra-chave que falta.
  4. A coluna is_active deve ter um valor padrão de True. Adicione o argumento apropriado para definir esse valor padrão.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 4
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain what the `engine` variable is and how to set it up?

How do I add a new comment to the database using this model?

What is the purpose of `declarative_base()` in this example?

close

Awesome!

Completion rate improved to 4.76

bookCriando Seu Primeiro Modelo

Deslize para mostrar o menu

No SQLAlchemy, criar um modelo envolve definir uma classe Python que corresponde a uma tabela no banco de dados. Cada instância dessa classe representa uma linha na tabela. Vamos analisar um exemplo simples onde criamos um modelo Comment para armazenar comentários de usuários.

from sqlalchemy import Column, Integer, String, Text, DateTime
from sqlalchemy.ext.declarative import declarative_base
from datetime import datetime

Base = declarative_base()

class Comment(Base):
    __tablename__ = "comments"  # the name of the table in the database

    id = Column(Integer, primary_key=True)  # primary key column, uniquely identifies each comment
    content = Column(Text, nullable=False)  # content of the comment, cannot be null
    created_at = Column(DateTime, default=datetime.utcnow)  # timestamp when the comment is created, defaults to current time

# Create all tables defined by models
Base.metadata.create_all(engine)

Isto define uma classe Python chamada Comment, que representa uma tabela no banco de dados. A classe herda de Base, o que permite que ela seja mapeada para uma tabela no banco de dados.

__tablename__ = "comments"

A classe Comment, herdando de Base, define uma tabela no banco de dados. Isso permite que ela seja mapeada para uma tabela do banco de dados utilizando Object-Relational Mapping (ORM).

id = Column(Integer, primary_key=True)

O campo id serve como chave primária, garantindo que cada comentário tenha um identificador único. O SQLAlchemy incrementa automaticamente o valor para cada novo registro.

content = Column(Text, nullable=False)

O campo id armazena o conteúdo do comentário e não pode ser nulo, garantindo que todos os comentários tenham texto associado.

created_at = Column(DateTime, default=datetime.utcnow)

O campo created_at armazena automaticamente o timestamp de quando o comentário foi criado. Se nenhum valor for fornecido, ele é definido para o horário atual usando datetime.utcnow, garantindo que o timestamp seja registrado em UTC.

Base.metadata.create_all(engine)

Esta linha cria todas as tabelas no banco de dados que foram definidas nos modelos. Ela utiliza as informações da metadata e cria as tabelas necessárias através da conexão fornecida pelo engine. Isso é útil para criar automaticamente as tabelas caso ainda não existam.

Tarefa

Swipe to start coding

Nesta tarefa, você recebe um ponto de partida para definir um modelo SQLAlchemy. Seu objetivo é completar o modelo preenchendo as partes que faltam.

  1. O atributo __tablename__ especifica o nome da tabela no banco de dados. Substitua o espaço reservado pelo nome correto da tabela para o modelo User.
  2. A coluna id deve ser marcada como chave primária. Adicione o argumento de palavra-chave correto para indicar isso.
  3. A coluna username deve ser única, ou seja, nenhum usuário pode ter o mesmo nome de usuário. Preencha o argumento de palavra-chave que falta.
  4. A coluna is_active deve ter um valor padrão de True. Adicione o argumento apropriado para definir esse valor padrão.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 4
single

single

some-alt