class Contact(models.Model):
gender_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
# Field name made lowercase.
id = models.IntegerField(db_column='id', primary_key=True)
# Field name made lowercase.
name = models.CharField(
db_column='name', max_length=80, blank=True, null=True)
# Field name made lowercase.
family = models.ForeignKey(
'Family', on_delete=models.CASCADE, db_column='familyid', blank=True, null=True)
# Field name made lowercase.
isdeceased = models.BooleanField(
db_column='isdeceased', blank=True, null=True)
deceased_date = models.DateField(blank=True, null=True)
# Field name made lowercase.
phone = models.CharField(
db_column='phone', max_length=50, blank=True, null=True)
email = models.EmailField(blank=True, null=True)
# Field name made lowercase.
gender = models.CharField(
db_column='gender', max_length=1, choices=gender_CHOICES, blank=True, null=True)
# Field name made lowercase.
fullname = models.CharField(
db_column='fullname', max_length=255, blank=True, null=True)
alias = models.CharField(
db_column='alias', max_length=50, blank=True, null=True)
birth_date = models.DateField(blank=True, null=True)
health_issues = models.TextField(
db_column='health_issues', blank=True, null=True)
isscout = models.BooleanField(
db_column='isscout', blank=True, null=True)
isparent = models.BooleanField(
db_column='isparent', blank=True, null=True)
isleader = models.BooleanField(
db_column='isleader', blank=True, null=True)
fatherid = models.ForeignKey(
'self', blank=True, null=True, related_name='father', on_delete=models.CASCADE)
motherid = models.ForeignKey(
'self', blank=True, null=True, related_name='mother', on_delete=models.CASCADE)
spouseid = models.ForeignKey(
'self', blank=True, null=True, related_name='spouse', on_delete=models.CASCADE)
date_married = models.DateField(blank=True, null=True)
def __str__(self):
return self.name
class Meta:
managed = True
db_table = 'contacts'
ordering = ['name']
class Scout(Contact):
objects = models.Manager()
contact = models.OneToOneField('Contact', on_delete=models.CASCADE, db_column='contact_id',
parent_link=True, related_name='scoutcontact') # Field name made lowercase.
current_class = models.ForeignKey(
OvClass, on_delete=models.CASCADE, blank=True, null=True)
current_grade = models.IntegerField(null=True, blank=True)
g1_id = models.ForeignKey(
'self', on_delete=models.CASCADE, blank=True, null=True, related_name='g1')
g2_id = models.ForeignKey(
'self', on_delete=models.CASCADE, blank=True, null=True, related_name='g2')
hobbies = models.TextField(
db_column='hobbies', blank=True, null=True)
skills = models.TextField(
db_column='skills', blank=True, null=True)
reason = models.TextField(
db_column='reason', blank=True, null=True)
date_joined = models.DateField(blank=True, null=True)
grade_joined = models.IntegerField(blank=True, null=True)
start_academic_year = models.IntegerField(blank=True, null=True)
class Meta:
managed = True
db_table = 'scout'
default_manager_name = 'objects'
# ordering = ['name']