wag-managment-api-service-v.../Services/PostgresDb/how_to.py

82 lines
2.6 KiB
Python

from Schemas import AddressNeighborhood
from Services.PostgresDb.Models.crud_alchemy import Credentials
from Services.PostgresDb.Models.mixin import BasicMixin
from Services.PostgresDb.Models.pagination import Pagination, PaginationResult
listing = False
creating = False
updating = True
new_session = AddressNeighborhood.new_session()
new_session_test = AddressNeighborhood.new_session()
BasicMixin.creds = Credentials(person_id=10, person_name='Berkay Super User')
if listing:
"""List Options and Queries """
AddressNeighborhood.pre_query = AddressNeighborhood.filter_all(
AddressNeighborhood.neighborhood_code.icontains('10'),
db=new_session,
).query
query_of_list_options = {
"neighborhood_name__ilike": "A%",
"neighborhood_code__contains": "3",
}
address_neighborhoods = AddressNeighborhood.filter_all(
*AddressNeighborhood.convert(query_of_list_options),
db=new_session,
)
pagination = Pagination(data=address_neighborhoods)
pagination.page = 9
pagination.size = 10
pagination.orderField = ['type_code','neighborhood_code']
pagination.orderType = ['desc', 'asc']
pagination_result = PaginationResult(data=address_neighborhoods, pagination=pagination)
print(pagination_result.pagination.as_dict())
print(pagination_result.data)
if creating:
"""Create Queries """
find_or_create = AddressNeighborhood.find_or_create(
neighborhood_code='100',
neighborhood_name='Test',
locality_id=15334,
db=new_session,
)
find_or_create.save_via_metadata(db=new_session)
find_or_create.destroy(db=new_session)
find_or_create.save_via_metadata(db=new_session)
find_or_create = AddressNeighborhood.find_or_create(
neighborhood_code='100',
neighborhood_name='Test',
locality_id=15334,
db=new_session,
)
find_or_create.save_via_metadata(db=new_session)
if updating:
"""Update Queries """
query_of_list_options = {
"uu_id": str("33a89767-d2dc-4531-8f66-7b650e22a8a7"),
}
print('query_of_list_options', query_of_list_options)
address_neighborhoods_one = AddressNeighborhood.filter_one(
*AddressNeighborhood.convert(query_of_list_options),
db=new_session,
).data
address_neighborhoods_one.update(
neighborhood_name='Test 44',
db=new_session,
)
address_neighborhoods_one.save(db=new_session)
address_neighborhoods_one = AddressNeighborhood.filter_one(
*AddressNeighborhood.convert(query_of_list_options),
db=new_session,
).data_as_dict
print('address_neighborhoods_one', address_neighborhoods_one)