32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
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")
|
|
)
|