Witajcie,
Walczę z programem, który ma realizować podstawowe operacje CRUD. Niestety model relacji jaki został mi narzucony wygląda następująco: tabela I - klucz obcy do tabeli II, tabela II - klucz obcy do tabeli I. O ile poradziłem sobie z podstawowymi zapytaniami do pojedynczej tabeli, o tyle mam problem z wyświetleniem danych "złożonych" z obu tabeli, np. wyświetlenie działu zarządzanego przez konkretnego użytkownika. Jak się okazuje SQLite nie obsługuje zapętlonych relacji, dlatego w tabeli 'Dzial' nie mogę podać wprost klucza obcego do tabeli 'Pracownik'. Pomysł jaki się pojawił, to użycie dodatkowej tabeli. Czy z Python'owców ktoś może podpowiedzieć coś w temacie?
class database_objModel(Model): # klasa bazowa
class Meta:
database = database_obj
class Dzial(database_objModel):
iddepartment = PrimaryKeyField(unique=True)
departmentname = CharField(max_length=100)
#idmanager = DeferredForeignKey('Pracownik', null=True)
idmanager = IntegerField()
address = CharField(max_length=200)
mainphone = CharField(max_length=100)
mainmail = CharField(max_length=100)
mainwww = CharField(max_length=100)
description = CharField()
class Pracownik(database_objModel):
iduser = PrimaryKeyField(unique=True)
#iddepartment = ForeignKeyField(Dzial, to_field="iddepartment")
iddepartment = IntegerField()
username = CharField(max_length=100)
password = CharField(max_length=100)
firstname = CharField(max_length=100)
lastname = CharField(max_length=100)
description = CharField()
pay = FloatField()
bonus = FloatField()
date_of_payment = DateField()