58 lines
1.4 KiB
Python
58 lines
1.4 KiB
Python
from cpl.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};
|
|
"""
|
|
)
|