Last active
April 14, 2020 18:46
-
-
Save amiraliakbari/a7da3a3daf4b47accc79 to your computer and use it in GitHub Desktop.
Badoom Primary Models
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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