Use ORM for applicants
This commit is contained in:
31
lib/domain/Applicant.py
Normal file
31
lib/domain/Applicant.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from peewee import CharField, UUIDField, SmallIntegerField, TextField, ForeignKeyField, JOIN
|
||||
|
||||
from lib.domain.Town import Town
|
||||
from lib.domain.BaseModel import BaseModel
|
||||
from lib.domain.ZipCode import ZipCode
|
||||
|
||||
|
||||
class Applicant(BaseModel):
|
||||
class Meta:
|
||||
table_name = "applicants"
|
||||
|
||||
id = UUIDField(primary_key=True)
|
||||
title = SmallIntegerField(default=0)
|
||||
first_name = CharField(null=False)
|
||||
last_name = CharField(null=False)
|
||||
street = CharField()
|
||||
house_number = CharField()
|
||||
zip_code = ForeignKeyField(ZipCode, column_name="zip_code", null=True)
|
||||
phone_number = CharField()
|
||||
mobile_number = CharField()
|
||||
email_address = CharField()
|
||||
salutation = TextField(null=False)
|
||||
|
||||
@classmethod
|
||||
def select_table_data(cls):
|
||||
return (
|
||||
Applicant
|
||||
.select(Applicant.id, Applicant.first_name, Applicant.last_name, ZipCode.id, ZipCode.zip_code, Town.town)
|
||||
.join(ZipCode, join_type="LEFT JOIN")
|
||||
.join(Town, join_type="LEFT JOIN")
|
||||
)
|
||||
Reference in New Issue
Block a user