Skip to content

Instantly share code, notes, and snippets.

@amiraliakbari
Last active April 14, 2020 18:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amiraliakbari/a7da3a3daf4b47accc79 to your computer and use it in GitHub Desktop.
Save amiraliakbari/a7da3a3daf4b47accc79 to your computer and use it in GitHub Desktop.
Badoom Primary Models
class Member(AbstractUser):
GENDER = Choices((1, 'male', u"مرد"), (2, 'female', u"زن"))
image = models.ImageField(verbose_name=u"عکس", null=True, blank=True)
city = models.ForeignKey(City, null=True, blank=True, verbose_name=u"شهر")
gender = models.PositiveSmallIntegerField(verbose_name=u"جنسیت", choices=GENDER, null=True, blank=True)
default_page = models.ForeignKey('network.Page', null=True, blank=True, verbose_name=u"صفحه پیش فرض",
related_name="member_default_page")
settings = models.ForeignKey('MemberSettings', name='settings', null=True, blank=True)
birth_date = models.DateField(null=True, blank=True, verbose_name=u'تولد')
nickname = models.CharField(max_length=63, verbose_name=u'نام مستعار', blank=True)
class Baby(models.Model):
GENDER = Choices((1, 'male', u"پسر"), (2, 'female', u"دختر"), (3, 'unknown', u"نامشخص"))
first_name = models.CharField(verbose_name=u"نام", max_length=50)
last_name = models.CharField(verbose_name=u"نام خانوادگی", max_length=50)
relatives = models.ManyToManyField(Member, through='BabyFamilyMembers')
image = models.ImageField(verbose_name=u"عکس", null=True, blank=True)
father_name = models.CharField(verbose_name=u"نام پدر", max_length=50)
mother_name = models.CharField(verbose_name=u"نام و نام خانوادگی مادر", max_length=100)
city = models.ForeignKey(City, verbose_name=u"شهر", null=True, blank=True)
birth_date = models.DateField(verbose_name=u"تاریخ تولد", null=True, blank=True)
birth_time = models.TimeField(verbose_name=u"ساعت تولد", null=True, blank=True)
pregnancy = models.DateField(verbose_name=u"تاریخ شروع بارداری", null=True)
gender = models.PositiveSmallIntegerField(verbose_name=u"جنسیت", choices=GENDER)
height = models.PositiveSmallIntegerField(verbose_name=u"قد (سانتی متر)", null=True, blank=True)
weight = models.PositiveIntegerField(verbose_name=u"وزن (گرم)", null=True, blank=True)
hospital = models.CharField(verbose_name=u"بیمارستان محل تولد", max_length=250, null=True, blank=True)
doctor = models.CharField(verbose_name=u"نام پزشک", max_length=250, null=True, blank=True)
class BabyFamilyMembers(models.Model):
baby = models.ForeignKey(Baby, verbose_name=u'کودک')
relationship = models.ForeignKey(Relationship, verbose_name=u'نسبت')
confirmed = models.BooleanField(default=False, verbose_name=u'تایید شده')
member = models.ForeignKey(Member, verbose_name=u'اعضاء')
class Page(models.Model):
owner = models.ForeignKey(Member, related_name='pages')
baby = models.OneToOneField(Baby, related_name='page')
cover_photo = models.ImageField(blank=True, null=True)
likes = models.ManyToManyField(Member, null=True, blank=True, through='PageLikes', related_name='pages_liked')
blocked = models.ManyToManyField(Member, related_name='blocked', null=True, blank=True)
class PageLikes(models.Model):
page = models.ForeignKey(Page)
member = models.ForeignKey(Member)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment