Я новичок в Python.
Мне нужно разработать приложение с использованием Python, этой базы данных с интенсивным использованием приложений и сложных запросов, чтобы нельзя было использовать ORM.
Мне нужно выполнить модульное тестирование, и я вроде как не знаю, как это сделать в приложениях такого типа, которые интенсивно используют базу данных.
Я прототипировал некоторый код. В этом коде я отделяю бизнес-логику от доступа к базе данных, но не уверен, правильно ли это делается.
import psycopg2
class Account:
def __init__(self) :
self.conn = psycopg2.connect("dbname=test user=postgres")
''' Database related methods '''
def __createAccount(self, username, password):
''' SQL to create account '''
cur = self.conn.cursor()
cur.execute("INSERT INTO account (username, password) VALUES (%s, %s);", (username, password))
...
return something
''' Bussiness Logic methods '''
def createAccount(self, username, password):
''' Some bussiness logic... '''
...
self.__createAccount(username, password)
...
return something
class Event:
def __init__(self) :
pass
def createEvent(self):
None
Мой вопрос ... есть ли лучший способ сделать это? Какие документы я должен прочитать, чтобы получить больше знаний о разделении слоев?
Танки,