Files
web2.0-backend/members/models.py
T

62 lines
1.6 KiB
Python

from django.db import models
from django.utils import timezone
class Member(models.Model):
'''
Member model represets one member on the registry
'''
first_name = models.CharField(max_length=127)
last_name = models.CharField(max_length=127)
email = models.EmailField()
POR = models.CharField(max_length=255) # place of residence
AYY = models.BooleanField(default=False)
jas = models.BooleanField(default=False)
def get_dict(self):
return {
'id':self.id,
'first_name':self.first_name,
'last_name':self.last_name,
'email':self.email,
'POR':self.POR,
'AYY':self.AYY,
'jas':self.jas,
}
@classmethod
def create_from_dict(cls,d):
mbr = cls()
mbr.update_from_dict(d)
return mbr
def update_from_dict(self,d):
dmap = {
'first_name': 'first_name',
'last_name': 'last_name',
'email': 'email',
'POR': 'POR',
'AYY': 'AYY',
'jas': 'jas',
}
for k,v in d.items():
try:
self.__setattr__(dmap[k],v)
except KeyError:
pass
self.save()
def __str__(self):
return "{} {}".format(first_name, last_name)
class MemberRequest(models.Model):
member = models.ForeignKey(Member)
submitted = models.DateTimeField(default=timezone.now)
def get_dict(self):
return {
'id': self.id,
'member': self.member.get_dict(),
'submitted': self.submitted.isoformat(" ")
}