class Author(ormar.Model): class Meta(BaseMeta): tablename = "authors" id: int = ormar.Integer(primary_key=True) name: str = ormar.String(max_length=100, **default_fernet) uuid_test = ormar.UUID(default=uuid.uuid4, uuid_format="string") uuid_test2 = ormar.UUID(nullable=True, uuid_format="string") password: str = ormar.String( max_length=128, encrypt_secret="udxc32", encrypt_backend=ormar.EncryptBackends.HASH, ) birth_year: int = ormar.Integer( nullable=True, encrypt_secret="secure89key%^&psdijfipew", encrypt_backend=ormar.EncryptBackends.FERNET, ) test_text: str = ormar.Text(default="", **default_fernet) test_bool: bool = ormar.Boolean(nullable=False, **default_fernet) test_float: float = ormar.Float(**default_fernet) test_float2: float = ormar.Float(nullable=True, **default_fernet) test_datetime = ormar.DateTime(default=datetime.datetime.now, **default_fernet) test_date = ormar.Date(default=datetime.date.today, **default_fernet) test_time = ormar.Time(default=datetime.time, **default_fernet) test_json = ormar.JSON(default={}, **default_fernet) test_bigint: int = ormar.BigInteger(default=0, **default_fernet) test_decimal = ormar.Decimal(scale=2, precision=10, **default_fernet) test_decimal2 = ormar.Decimal(max_digits=10, decimal_places=2, **default_fernet) custom_backend: str = ormar.String( max_length=200, encrypt_secret="asda8", encrypt_backend=ormar.EncryptBackends.CUSTOM, encrypt_custom_backend=DummyBackend, )
class Organisation(ormar.Model): class Meta: tablename = "org" metadata = metadata database = database id: int = ormar.Integer(primary_key=True) ident: str = ormar.String(max_length=100, choices=["ACME Ltd", "Other ltd"]) priority: int = ormar.Integer(choices=[1, 2, 3, 4, 5]) priority2: int = ormar.BigInteger(choices=[1, 2, 3, 4, 5]) expire_date: datetime.date = ormar.Date( choices=[datetime.date(2021, 1, 1), datetime.date(2022, 5, 1)]) expire_time: datetime.time = ormar.Time( choices=[datetime.time(10, 0, 0), datetime.time(12, 30)]) expire_datetime: datetime.datetime = ormar.DateTime(choices=[ datetime.datetime(2021, 1, 1, 10, 0, 0), datetime.datetime(2022, 5, 1, 12, 30), ]) random_val: float = ormar.Float(choices=[2.0, 3.5]) random_decimal: decimal.Decimal = ormar.Decimal( scale=2, precision=4, choices=[decimal.Decimal(12.4), decimal.Decimal(58.2)]) random_json: pydantic.Json = ormar.JSON(choices=["aa", '{"aa":"bb"}']) random_uuid: uuid.UUID = ormar.UUID(choices=[uuid1, uuid2]) enum_string: str = ormar.String(max_length=100, choices=list(EnumTest))
class Thing(ormar.Model): class Meta(BaseMeta): tablename = "things" id: uuid.UUID = ormar.UUID(primary_key=True, default=uuid.uuid4) name: str = ormar.Text(default="") js: pydantic.Json = ormar.JSON()
class Animal(ormar.Model): class Meta(BaseMeta): tablename = "animals" id: UUID = ormar.UUID(primary_key=True, default=uuid4) name: str = ormar.String(max_length=200) specie: str = ormar.String(max_length=200)
class Link(ormar.Model): class Meta(BaseMeta): tablename = "link_table" id: UUID = ormar.UUID(primary_key=True, default=uuid4) animal_order: int = ormar.Integer(nullable=True) human_order: int = ormar.Integer(nullable=True)
class CB2(ormar.Model): class Meta(BaseMeta): tablename = "cb2s" id: UUID = ormar.UUID(primary_key=True, default=uuid4) cb2_name: str = ormar.Text(default="") ca2: Optional[CA] = ormar.ForeignKey(CA, nullable=True)
class OtherThing(ormar.Model): class Meta(BaseMeta): tablename = "other_things" id: UUID = ormar.UUID(primary_key=True, default=uuid4) name: str = ormar.Text(default="") ot_contents: str = ormar.Text(default="")
class UUIDSample(ormar.Model): class Meta: tablename = "uuids" metadata = metadata database = database id: uuid.UUID = ormar.UUID(primary_key=True, default=uuid.uuid4) test_text: str = ormar.Text()
class Human2(ormar.Model): class Meta(BaseMeta): tablename = "humans2" id: UUID = ormar.UUID(primary_key=True, default=uuid4) name: str = ormar.Text(default="") favoriteAnimals: List[Animal] = ormar.ManyToMany( Animal, related_name="favoriteHumans2", orders_by=["link__animal_order__fail"] )
class Thing(ormar.Model): class Meta(BaseMeta): tablename = "things" id: UUID = ormar.UUID(primary_key=True, default=uuid4) name: str = ormar.Text(default="") js: pydantic.Json = ormar.JSON(nullable=True) other_thing: Optional[OtherThing] = ormar.ForeignKey(OtherThing, nullable=True)
class OrmarBaseUserModel(ormar.Model): class Meta: tablename = "users" abstract = True id = ormar.UUID(primary_key=True, uuid_format="string") email = ormar.String(index=True, unique=True, nullable=False, max_length=255) hashed_password = ormar.String(nullable=False, max_length=255) is_active = ormar.Boolean(default=True, nullable=False) is_superuser = ormar.Boolean(default=False, nullable=False) is_verified = ormar.Boolean(default=False, nullable=False)
class Human(ormar.Model): class Meta(BaseMeta): tablename = "humans" id: UUID = ormar.UUID(primary_key=True, default=uuid4) name: str = ormar.Text(default="") pets: List[Animal] = ormar.ManyToMany( Animal, related_name="care_takers", orders_by=["specie", "-name"], related_orders_by=["name"], )
class OrmarBaseOAuthAccountModel(ormar.Model): class Meta: tablename = "oauth_accounts" abstract = True id = ormar.UUID(primary_key=True, uuid_format="string") oauth_name = ormar.String(nullable=False, max_length=255) access_token = ormar.String(nullable=False, max_length=255) expires_at = ormar.Integer(nullable=True) refresh_token = ormar.String(nullable=True, max_length=255) account_id = ormar.String(index=True, nullable=False, max_length=255) account_email = ormar.String(nullable=False, max_length=255)
class OrmarBaseOAuthAccountModel(ormar.Model): class Meta: tablename = "oauth_accounts" abstract = True id = ormar.UUID(primary_key=True, uuid_format="string") oauth_name = ormar.String(nullable=False, max_length=255) access_token = ormar.String(nullable=False, max_length=255) expires_at = ormar.Integer(nullable=True) refresh_token = ormar.String(nullable=True, max_length=255) account_id = ormar.String(index=True, nullable=False, max_length=255) account_email = ormar.String(nullable=False, max_length=255) # added to keep ordering by creation_date created_date = ormar.DateTime(default=datetime.datetime.now)
class User(ormar.Model): class Meta: tablename = "user" metadata = metadata database = db id: uuid.UUID = ormar.UUID(primary_key=True, default=uuid.uuid4, uuid_format="string") username = ormar.String(index=True, unique=True, null=False, max_length=255) email = ormar.String(index=True, unique=True, nullable=False, max_length=255) hashed_password = ormar.String(null=False, max_length=255) is_active = ormar.Boolean(default=True, nullable=False) is_superuser = ormar.Boolean(default=False, nullable=False)
class Animal(ormar.Model): class Meta(BaseMeta): tablename = "animals" id: UUID = ormar.UUID(primary_key=True, default=uuid4) name: str = ormar.Text(default="")
class CA(ormar.Model): class Meta(BaseMeta): tablename = "cas" id: UUID = ormar.UUID(primary_key=True, default=uuid4) ca_name: str = ormar.Text(default="")