Wpis z mikrobloga

@skew: Jeżeli dopuszczasz, żeby tylko niektóre parametry były podane, to powinny mieć jakieś domyślne wartości w definicji funkcji

def _init_(self, fid=None, sid=None, name=None, unit=None):
są podkreślniki, tylko wykop zjada...
@skew: możesz w pythonie wybierać po nazwie te parametry funkcji których potrzebujesz tak jak napisał dejson, i nie trzeba klepać powielonego kodu. Python kopie tutaj dupę np javie ;-)
@skew:

return [Field(*result) for result in results]
Poza tym jak zmienisz @staticmethod na @classmethod, to bedziesz mogl uzyc cls zamiast Field, co pozwala na latwe dziedziczenie. Wtedy liste pol, nazwe tabeli etc, mozesz trzymac w atrybucie klasy i budowac zapytanie dynamicznie.

A jeszcze lepiej - mozesz uzyc jakiegos frameworka, ktory ogarnie to za ciebie ;) Albo chociaz jakis ORM typu SQLAlchemy.