# -*- coding: utf8 -*-

from pony.orm import (Database, PrimaryKey, Required, Optional, Set,
                      sql_debug)

db = Database("postgres",
              host="localhost",
              user="marek",
              password="tojetajny",
              database="lididb")


class Osoba(db.Entity):
    _table_ = "osoba"
    id = PrimaryKey(int, auto=True)
    jmeno = Required(unicode, 50)
    rok_narozeni = Required(int)
    poznamka = Optional(unicode, 250, nullable=True)
    zamestnani = Optional("Zamestnani")
    konicky__osoby = Set("Konicek_Osoby")


class Zamestnani(db.Entity):
    _table_ = "zamestnani"
    id = PrimaryKey(int, auto=True)
    nazev = Required(unicode, 30, unique=True)
    osoby = Set(Osoba)


class Konicek(db.Entity):
    _table_ = "konicek"
    id = PrimaryKey(int, auto=True)
    nazev = Required(unicode, 30, unique=True)
    konicky__osoby = Set("Konicek_Osoby")


class Konicek_Osoby(db.Entity):
    _table_ = "konicek_osoby"
    id = PrimaryKey(int, auto=True)
    osoba = Required(Osoba)
    konicek = Required(Konicek)


sql_debug(True)
db.generate_mapping(create_tables=True)
