Files
cpl/tests/custom/database/src/model/user_model.py

51 lines
1.3 KiB
Python

from cpl_core.database import TableABC
from .city_model import CityModel
class UserModel(TableABC):
def __init__(self, name: str, city: CityModel, id = 0):
self.UserId = id
self.Name = name
self.CityId = city.CityId if city is not None else 0
self.City = city
@staticmethod
def get_create_string() -> str:
return str(f"""
CREATE TABLE IF NOT EXISTS `User` (
`UserId` INT(30) NOT NULL AUTO_INCREMENT,
`Name` VARCHAR(64) NOT NULL,
`CityId` INT(30),
FOREIGN KEY (`UserId`) REFERENCES City(`CityId`),
PRIMARY KEY(`UserId`)
);
""")
@property
def insert_string(self) -> str:
return str(f"""
INSERT INTO `User` (
`Name`
) VALUES (
'{self.Name}'
);
""")
@property
def udpate_string(self) -> str:
return str(f"""
UPDATE `User`
SET `Name` = '{self.Name}',
`CityId` = {self.CityId},
WHERE `UserId` = {self.UserId};
""")
@property
def delete_string(self) -> str:
return str(f"""
DELETE FROM `User`
WHERE `UserId` = {self.UserId};
""")