Criando 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.
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.
- O atributo
__tablename__
especifica o nome da tabela no banco de dados. Substitua o espaço reservado pelo nome correto da tabela para o modeloUser
. - A coluna
id
deve ser marcada como chave primária. Adicione o argumento de palavra-chave correto para indicar isso. - 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. - A coluna
is_active
deve ter um valor padrão deTrue
. Adicione o argumento apropriado para definir esse valor padrão.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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?
Awesome!
Completion rate improved to 4.76
Criando 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.
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.
- O atributo
__tablename__
especifica o nome da tabela no banco de dados. Substitua o espaço reservado pelo nome correto da tabela para o modeloUser
. - A coluna
id
deve ser marcada como chave primária. Adicione o argumento de palavra-chave correto para indicar isso. - 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. - A coluna
is_active
deve ter um valor padrão deTrue
. Adicione o argumento apropriado para definir esse valor padrão.
Solução
Obrigado pelo seu feedback!
single