class Erg(models.Model): epo = models.CharField('Επώνυμο', max_length=30) ono = models.CharField('Όνομα', max_length=30) pat = models.CharField('Όνομα πατέρα', max_length=30) mit = models.CharField('Όνομα μητέρας', max_length=30) sex = models.ForeignKey(Sex, 'Φύλο', qt_widget='combo') gen = models.DateField('Ημ/νία γέννησης') pai = models.IntegerField('Παιδιά') xor = models.ForeignKey(Xora, 'Χώρα', qt_widget='combo') afm = models.CharNumField('ΑΦΜ', max_length=9, min_length=9) ika = models.CharNumField('Αρ.Μητρώου ΙΚΑ', max_length=10, min_length=10) amka = models.CharNumField('ΑMKA', max_length=11, min_length=11) taft = models.ForeignKey(TaftotitaType, 'Τύπος ταυτότητας', qt_widget='combo') taf = models.CharField('Αριθμός ταυτότητας', max_length=20, unique=True) oik = models.ForeignKey(OikogKat, 'Οικογενειακή κατάσταση', qt_widget='combo') addr = models.CharField('Διεύθυνση', max_length=60) mobile = models.CharField('Κινητό τηλέφωνο', max_length=10) # Add custom validators here afm.add_validator(_validators.validate_afm) class Meta: unique_together = ('epo', 'ono') table_label = 'Εργαζόμενοι' repr_fields = ('epo', 'ono') def __str__(self): return '%s %s' % (self.epo, self.ono)
class AllagiProgramma(models.Model): pro = models.ForeignKey(Proslipsi, 'Πρόσληψη εργαζομένου') apo = models.DateField('Ισχύς Από') ora = models.WeekdaysField('Πρόγραμμα εργασίας') class Meta: table_label = "Αλλαγή Προγράμματος"
class Proslipsi(models.Model): dpr = models.DateField('Ημ/νία πρόσληψης', ) erg = models.ForeignKey(Erg, 'Εργαζόμενος') par = models.ForeignKey(Parartima, 'Παράρτημα', default=1, qt_widget='combo') apa = models.ForeignKey(ApasxolisiType, 'Καθεστώς απασχόλησης', qt_widget='combo', default=1) ert = models.ForeignKey(ErgType, 'Τύπος εργαζομένου', default=1, qt_widget='combo') eid = models.ForeignKey(Eidikotita, 'Ειδικότητα') syt = models.ForeignKey(SymbasiType, 'Τύπος σύμβασης', default=1, qt_widget='combo') ora = models.WeekdaysField('Πρόγραμμα εργασίας αρχικό') apt = models.ForeignKey(ApodoxesType, 'Τύπος αποδοχών', default=1, qt_widget='combo') amb = models.DecimalField('Αποδοχές') class Meta: table_label = 'Προσλήψεις' repr_fields = ('epo', 'ono', 'dpr')
class Metaboles(models.Model): pro = models.ForeignKey(Proslipsi, 'Πρόσληψη εργαζομένου') typ = models.ForeignKey(MetaboliType, 'Τύπος μεταβολής') apo = models.DateField('Ισχύς Από') val = models.CharField('Τιμή', max_length=200) class Meta: table_label = "Μεταβολές"
class Apoxorisi(models.Model): pro = models.ForeignKey(Proslipsi, 'Πρόσλ.Εργαζομένου', unique=True) dap = models.DateField('Ημ/νία αποχώρησης') apot = models.ForeignKey(ApoxorisiType, 'Τύπος απόχώρησης', qt_widget='combo') class Meta: table_label = 'Αποχωρήσεις'
class Testduo(models.Model): tddat = models.DateField('Ημ/νία') parko = models.CharField('Παραστατικό', max_length=20) apo = models.ForeignKey(Account, 'Από') sel = models.ForeignKey(Account, 'Σε') poso = models.DecimalField('Ποσό') per = models.CharField('Περιγραφή', max_length=80) class Meta: table_label = 'Δοκιμή' repr_fields = ('tddat', 'parko') unique_together = ('tddat', 'parko')
class Trans(models.Model): imer = models.ForeignKey(Hmerologio, 'Ημερολόγιο', qt_widget='combo', default=2) trdate = models.DateField('Ημ/νία εγγραφής') parko = models.CharField('Παραστατικό', max_length=20) per = models.CharField('Περιγραφή', max_length=50) class Meta: table_label = 'Άρθρα' table_detail = 'TransDetails' table_detail_key = 'tran'
def test_DateField_01(self): adf = md.DateField('datefield') self.assertEqual(adf.typos, 'DATE') self.assertEqual(adf.sql('tst'), 'tst DATE NOT NULL') self.assertEqual(adf.validate('2017-01-01')[0], True) self.assertEqual(adf.validate('sdfsf')[0], False)