Skip to content

Instantly share code, notes, and snippets.

@CoutinhoElias
Last active March 25, 2021 18:21
Show Gist options
  • Save CoutinhoElias/ca6801878a7bdc7120b6b53732c31ea4 to your computer and use it in GitHub Desktop.
Save CoutinhoElias/ca6801878a7bdc7120b6b53732c31ea4 to your computer and use it in GitHub Desktop.
Peewee com Postgres
# 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