1 | from django.db import models |
---|
2 | |
---|
3 | # Create your models here. |
---|
4 | class Group(models.Model): |
---|
5 | name = models.CharField(max_length=100) |
---|
6 | abbreviation = models.CharField(max_length=10, blank=True) |
---|
7 | description = models.TextField() |
---|
8 | activity_category = models.ForeignKey('ActivityCategory', null=True, blank=True, ) |
---|
9 | website_url = models.URLField() |
---|
10 | constitution_url = models.CharField(max_length=200, blank=True) |
---|
11 | meeting_times = models.TextField(blank=True) |
---|
12 | advisor_name = models.CharField(max_length=100, blank=True) |
---|
13 | num_undergrads = models.IntegerField(null=True, blank=True, ) |
---|
14 | num_grads = models.IntegerField(null=True, blank=True, ) |
---|
15 | num_community = models.IntegerField(null=True, blank=True, ) |
---|
16 | num_other = models.IntegerField(null=True, blank=True, ) |
---|
17 | group_email = models.EmailField(blank=True, ) |
---|
18 | officer_email = models.EmailField() |
---|
19 | main_account_id = models.IntegerField(null=True, blank=True, ) |
---|
20 | funding_account_id = models.IntegerField(null=True, blank=True, ) |
---|
21 | athena_locker = models.CharField(max_length=20, blank=True) |
---|
22 | recognition_date = models.DateField() |
---|
23 | update_date = models.DateTimeField() |
---|
24 | updater = models.CharField(max_length=30) # match Django username field |
---|
25 | |
---|
26 | def __str__(self, ): |
---|
27 | return self.name |
---|
28 | |
---|
29 | class Meta: |
---|
30 | ordering = ('name', ) |
---|
31 | |
---|
32 | class ActivityCategory(models.Model): |
---|
33 | name = models.CharField(max_length=50) |
---|
34 | |
---|
35 | def __str__(self, ): |
---|
36 | return self.name |
---|
37 | |
---|
38 | class Meta: |
---|
39 | verbose_name_plural = "activity categories" |
---|