mirror of
https://github.com/welton89/RRBEC.git
synced 2026-04-05 05:25:40 +00:00
3.8 KiB
3.8 KiB
| Atributo | Tipo de Dado | Restrições/Observações |
|---|---|---|
id_produto |
UUID | PK |
nome |
VARCHAR(255) | NOT NULL |
descricao |
TEXT | NULLABLE |
preco |
DECIMAL(10, 2) | NOT NULL |
custo_unitario |
DECIMAL(10, 2) | NULLABLE (Para cálculo de lucratividade) |
estoque_atual |
INTEGER | NOT NULL, DEFAULT 0 |
estoque_minimo |
INTEGER | DEFAULT 0 (Para alertas de estoque baixo) |
url_imagem |
VARCHAR(255) | NULLABLE |
disponivel |
BOOLEAN | NOT NULL, DEFAULT TRUE (Indica se está no cardápio ativo) |
id_categoria |
UUID | FK para CategoriasProduto |
| Atributo | Tipo | Modificadores |
|---|---|---|
| id | AutoField | primary_key=True |
| name | CharField | max_length=100 |
| description | TextField | null=True, blank=True |
| image | ImageField | null=True, blank=True |
| price | DecimalField | max_digits=10, decimal_places=2 |
| quantity | IntegerField | null=False, default=0 |
| category | ForeignKey | on_delete=models.CASCADE (Category) |
| cuisine | BooleanField | default=False |
| active | BooleanField | default=True |
Modelo: Product
Este modelo representa um produto no sistema. Cada produto possui os seguintes atributos:
id: Um identificador único para cada produto (chave primária). Este campo é preenchido automaticamente.name: O nome do produto (texto curto, máximo de 100 caracteres).description: Uma descrição detalhada do produto (texto longo). Pode ser deixada em branco.image: Uma imagem associada ao produto. Pode ser deixada em branco.price: O preço do produto (valor decimal com um total de 10 dígitos, incluindo 2 casas decimais).quantity: A quantidade disponível em estoque (número inteiro). Por padrão, é 0.category: A categoria à qual o produto pertence. É uma chave estrangeira que se relaciona ao modelo Category. Se uma categoria for excluída, todos os produtos associados a essa categoria também serão excluídos (on_delete=models.CASCADE).cuisine: Um campo booleano que indica se o produto é preparado na cozinha. O valor padrão éFalse.active: Um campo booleano que indica se o produto está ativo e disponível para venda. O valor padrão éTrue.
Modelo: Category
Este modelo representa uma categoria de produto. Cada categoria possui os seguintes atributos:
id: Um identificador único para cada categoria (chave primária). Este campo é preenchido automaticamente.name: O nome da categoria (texto curto, máximo de 255 caracteres).
Relacionamento:
Os modelos Product e Category estão relacionados por meio de uma chave estrangeira. Cada produto pertence a uma categoria, e uma categoria pode ter vários produtos associados a ela.
Uso:
Esses modelos são usados para definir a estrutura do banco de dados e facilitar a criação, leitura, atualização e exclusão (CRUD) de produtos e categorias no sistema. Eles são componentes essenciais para gerenciar o catálogo de produtos.