Last active
March 25, 2021 18:21
-
-
Save CoutinhoElias/ca6801878a7bdc7120b6b53732c31ea4 to your computer and use it in GitHub Desktop.
Peewee com Postgres
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Conexão com o banco Postgres: | |
from datetime import datetime | |
from peewee import PostgresqlDatabase, CompositeKey, Model, CharField, DateTimeField | |
db = PostgresqlDatabase( | |
'ALTERDATA_WSHOP', # Required by Peewee. | |
user='postgres', # Will be passed directly to psycopg2. | |
password='#abc123#', # Ditto. | |
host='localhost') # Ditto. | |
class UnknownField(object): | |
def __init__(self, *_, **__): pass | |
class BaseModel(Model): | |
class Meta: | |
database = db | |
class Codigos(BaseModel): | |
cdexterno = CharField(null=True) | |
cod_anterior = CharField(null=True) | |
data_cod_anterior = DateTimeField(null=True) | |
dscodigo = CharField(index=True) | |
iddetalhe = CharField(index=True, null=True) | |
idproduto = CharField(null=True) | |
stexp = CharField(index=True, null=True) | |
tpcodigo = CharField() | |
class Meta: | |
table_name = 'codigos' | |
indexes = ( | |
(('iddetalhe', 'tpcodigo'), False), | |
(('tpcodigo', 'dscodigo'), True), | |
(('tpcodigo', 'dscodigo', 'iddetalhe'), False), | |
) | |
schema = 'wshop' | |
primary_key = CompositeKey('dscodigo', 'tpcodigo') | |
#---------------------------------------------------------------------------- | |
# Outro arquivo Python separado. | |
# Adicionando registro na tabela: | |
from models import Codigos | |
from datetime import datetime | |
''' | |
Funções usadas para inserir gegistros na tabela. | |
Logo abaixo joga o resutado em uma variável de depois faz o .save() | |
''' | |
# CREATE | |
#codigo = Codigos( | |
# cdexterno = 'CEPN', | |
# cod_anterior = 'CAPN', | |
# data_cod_anterior = datetime.now, | |
# dscodigo = '01234567899876', | |
# iddetalhe = '010015MRCL', | |
# idproduto = '010015MQ3O', | |
# stexp = 'I', | |
# tpcodigo = 'EAN13' | |
#) | |
# | |
#codigo.save() | |
''' | |
Funções usadas para inserir gegistros na tabela. | |
Logo abaixo joga o resutado diretamente na tabela sem fazer o .save() | |
Usa-se o .create | |
''' | |
Codigos.create( | |
cdexterno = 'CEPN', | |
cod_anterior = 'CAPN', | |
data_cod_anterior = datetime.now(), | |
dscodigo = '01234567899876', | |
iddetalhe = '010015MRCL', | |
idproduto = '010015MQ3O', | |
stexp = 'I', | |
tpcodigo = 'EAN13' | |
) | |
''' | |
Funções usadas para listar gegistros na tabela. | |
Logo abaixo fazemos o select de todos os registros filtrando na clausula where. | |
''' | |
# SELECT | |
# Codigos.select() | |
#for x in Codigos.select().where(Codigos.tpcodigo=='EAN13'): | |
# print(x.idproduto, x.tpcodigo) | |
''' | |
Funções usadas para listar gegistros na tabela. | |
Logo abaixo fazemos o select de todos os registros podendo ter filtros mas para listar dicionários | |
deve ser finalizado com .dicts().get() nesse caso pode ser criado um arquivo no pc para ser | |
importado em qualquer lugar. | |
''' | |
# SELECT DICTS | |
#q = Codigos.select().dicts().get() | |
# | |
#for row in q: | |
# print(q) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment