Last active
February 11, 2024 12:51
-
-
Save mmkhitaryan/bf46cb557cae421452ba938989005b70 to your computer and use it in GitHub Desktop.
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
import datetime | |
from tortoise import Tortoise, fields, timezone | |
from tortoise.models import Model | |
NAIVE_DATETIME = datetime.datetime.strptime("2024-2-11","%Y-%m-%d") | |
class TortoiseModel(Model): | |
name = fields.CharField(max_length=50, unique=True) | |
last_register_date = fields.DatetimeField() | |
class Meta: | |
table = "tortoises" | |
async def init(): | |
await Tortoise.init( | |
db_url='sqlite://memory', | |
modules={'models': ['__main__']}, | |
) | |
await Tortoise.generate_schemas() | |
async def working_create_tortoises(): | |
aware_datatime = timezone.make_aware(NAIVE_DATETIME) | |
await TortoiseModel.get_or_create(name='test', last_register_date=aware_datatime) | |
await TortoiseModel.get_or_create(name='test', last_register_date=aware_datatime) | |
print("successfully created") | |
async def failing_create_tortoises(): | |
naive_datatime = NAIVE_DATETIME | |
await TortoiseModel.get_or_create(name='test', last_register_date=naive_datatime) | |
await TortoiseModel.get_or_create(name='test', last_register_date=naive_datatime) | |
async def retrieve_tortoises(): | |
tortoises = await TortoiseModel.all().values() | |
for tortoise in tortoises: | |
print(tortoise) | |
async def main(): | |
await init() | |
await working_create_tortoises() | |
await failing_create_tortoises() | |
await Tortoise.close_connections() | |
if __name__ == "__main__": | |
import asyncio | |
asyncio.run(main()) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment