class User(models.Model): slug = models.SlugField('Identificador', max_length=100, unique=True) nome = models.CharField('Nome', max_length=100) cpf = models.CharField('CPF', max_length=11, default='') dataNascimento = models.DateField('Data de Nascimento', default='') email = models.EmailField('E-mail', max_length=40, unique=True) emailConfirmado = models.BooleanField('E-mail confirmado', default=False) senha = models.CharField('Senha', max_length=30) telefone = PhoneField('Telefone', help_text='Telefone para contato', default='') cep = models.CharField('CEP', max_length=8, default='') numeroCasa = models.IntegerField('Número', default='') rua = models.CharField('Rua', max_length=100, default='') bairro = models.CharField('Bairro', max_length=100, default='') cidade = models.CharField('Cidade', max_length=100, default='') estado = models.CharField('Estado', max_length=5, choices=[(tag, tag.value) for tag in BRStates]) complemento = models.CharField('Complemento', max_length=100, default='') isProdutor = models.BooleanField("Produtor", default=False) isAfiliado = models.BooleanField("Afiliado", default=False) isAtivo = models.BooleanField("Ativo", default=True) dataCriacao = models.DateTimeField('Criado em', auto_now_add=True) dataModificacao = models.DateTimeField('Última modificação', auto_now=True) class Meta: verbose_name = 'Usuário' verbose_name_plural = 'Usuários' ordering = ['nome'] # def save(self): # self.save() def save(self, *args, **kwargs): self.slug = self.slug or slugify(self.nome) super().save(*args, **kwargs) def _str_(self): return self.nome
class store(base): suuid= models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) tuuid=models.ForeignKey(tenant, on_delete = models.CASCADE) map_id=models.CharField(max_length=100,blank=False) address=models.CharField(max_length=200,blank=False) start_time=models.DateTimeField(max_length=50, blank=False) end_time=models.DateTimeField(max_length=50,blank=False) choices=( ('GROCERY','GROCERIES'), ('MEDICAL','MEDICINE'), ('APPARELS','APPARELS'), ('ELECTRONICS','ELECTRONICS'), ('WHOLESALE','WHOLESALE'), ('SUPERMARKET','SUPERMARKET'), ('AUTOMOBILE','AUTOMOBILE'), ('ENTERTAINMENT AND ARTS','ENTERTAINMENT AND ARTS'), ('HEALTH AND BEAUTY','HEALTH AND BEAUTY'), ('FOOD','FOOD'), ('TRAVEL','TRAVEL'), ('SPORTS','SPORTS') ) category=models.CharField(max_length=50,choices=choices,blank=False) contact_id=PhoneField(max_length=50,blank=False,help_text='Contact phone number')
class owner(models.Model): user = models.OneToOneField(user_login_details, on_delete=models.CASCADE) name = models.CharField(max_length=20) photo = models.ImageField(upload_to='owner', blank=True, null=True) sex = models.CharField(max_length=1, choices=(('M', 'Male'), ('F', 'Female'), ('W', 'Dont wish to disclose'))) bio = models.TextField(max_length=500) dob = models.DateField(max_length=8) #import birthday longitude = models.CharField(max_length=500) latitude = models.CharField(max_length=500) home_address = models.CharField(max_length=500) emergency_address = models.CharField(max_length=500) emergency_contact = PhoneField(blank=True, help_text='Emergency Contact number') updated = models.DateTimeField(auto_now=True, auto_now_add=False) no_of_pets = models.IntegerField(default=0) class Meta: db_table = "owner" def __str__(self): return self.name
class passenger(TimeStampMixin): from .CONSTANTS import GENDER passenger_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) first_name = models.CharField(max_length=25, blank=False) last_name = models.CharField(max_length=25, blank=False) email = models.EmailField(blank=False) contact = PhoneField(max_length=50, blank=False, help_text='Contact phone number') Gender = models.CharField(max_length=2, choices=GENDER.choices, blank=False) seat_id = models.OneToOneField(SeatModel, on_delete=models.DO_NOTHING) trip_id = models.OneToOneField(TripModel, on_delete=models.DO_NOTHING) pnr = models.ForeignKey(booking, related_name="pnrlink", on_delete=models.DO_NOTHING) booking_id = models.ForeignKey(booking, related_name="bookidlink", on_delete=models.CASCADE)
class Staff(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) name = models.CharField(max_length=100) phone_number = PhoneField(blank=True, null=True) email = models.EmailField(max_length=100, blank=True, null=True) history = HistoricalRecords() def check_email(self): if self.email is None or self.email == '': name = self.name.split() mail = get_ldap_mail(name[0], name[1]) if mail is None: mail = get_ldap_mail(name[1], name[0]) if mail is not None: self.email = mail self.save() def __str__(self): return self.name
class Customer(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True, blank=True) first_name = models.CharField(max_length=50) last_name = models.CharField(max_length=50) full_name = models.CharField(max_length=100, null=True, blank=True) phone_number = PhoneField() @property def get_slug_name(self): full_name = self.first_name + '_' + self.last_name return full_name def get_full_name(self, first_name, last_name): full_name = first_name + ' ' + last_name return full_name def save(self, *args, **kwargs): self.full_name = self.get_full_name(self.first_name, self.last_name) super(Customer, self).save(*args, **kwargs) def __str__(self): return self.full_name
class Contact(models.Model): # contact_user=models.ManyToManyField(User) contact_user = models.ForeignKey(User, on_delete=models.CASCADE, default='user', related_name="contacts") contact_email = models.CharField(max_length=300, default='contactemail', unique=True) contact_first_name = models.CharField(max_length=200, default="first") contact_last_name = models.CharField(max_length=300, default="last") contact_phone_number = PhoneField() contact_home_address = models.TextField(default="address") contact_relation = models.CharField(max_length=200, default="relation") contact_group = models.CharField(max_length=300, default="group") contact_age = models.IntegerField(default=int()) contact_notes = models.TextField(default="notes") def __str__(self): return self.contact_email def get_absolute_url(self): return (reverse('contact_info', kwargs={'pk': self.pk}))
class Order(models.Model): """Заказ""" order_number = models.CharField("Номер заказа", max_length=50) customer_name = models.CharField("Имя заказчика", max_length=100) phone = PhoneField("Номер телефона") address = models.TextField("Адрес", max_length=150) payment_type = models.CharField( "Способ оплаты", choices=(("cash", "Наличными"), ("card", "Картой на сайте")), max_length=100, ) session_id = models.CharField("Сессия", max_length=100) @staticmethod def generate_order_number(): date = datetime.date.today().strftime("%y%m%d") number = random.randint(100000, 999999) return f"{date}-{number}" class Meta: verbose_name = "Заказ" verbose_name_plural = "Заказы"
class CustomUser(AbstractUser): username = None email = models.EmailField(_('email address'), unique=True) USERNAME_FIELD = 'email' REQUIRED_FIELDS = [] objects = CustomUserManager() phone_number = PhoneField(blank=True, null=True, help_text='Contact phone number') role = models.CharField(max_length=100, blank=False, null=False, default="role") avatar = models.FileField(upload_to=upload_avatar, blank=True, null=True) def __str__(self): return self.email
class User(AbstractUser): username = models.CharField(blank=True, null=True, max_length=10) first_name = models.CharField(_('first name'), max_length=30, blank=True) last_name = models.CharField(_('last name'), max_length=30, blank=True) email = models.EmailField(_('email address'), unique=True) address_line_1 = models.TextField(blank=True, null=True) address_line_2 = models.TextField(blank=True, null=True) phone = PhoneField(blank=True, help_text='Contact phone number') is_seller = models.BooleanField(_('is seller'), default=False) image = ProcessedImageField(upload_to='BackgroundImages/', processors=[ResizeToFill(550, 550)], format='JPEG', options={'quality': 60}, blank=True, null=True) USERNAME_FIELD = 'email' REQUIRED_FIELDS = [ 'username', ] def __str__(self): return "{}".format(self.email)
class Profile(Forge): """Model definition for Profile.""" first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) address_1 = models.CharField(max_length=60, null=True) address_2 = models.CharField(max_length=60, null=True) city = models.CharField(max_length=60, null=True) state = models.CharField(max_length=2) zip_code = models.CharField(max_length=5, null=True) phone_number = PhoneField(blank=True) date_of_birth = models.DateField(null=True) users = models.ForeignKey(Account, on_delete=models.CASCADE) class Meta: """Meta definition for Profile.""" verbose_name = "Profile" verbose_name_plural = "Profiles" def __str__(self): """Unicode representation of Profile.""" pass
class Userregister(models.Model): postuser = models.ForeignKey(User, on_delete=models.CASCADE) fullname = models.CharField(max_length=20, null=False) phone = PhoneField( blank=True, help_text='Contact phone number', E164_only=False, ) city = models.CharField(max_length=20, null=False) state = models.CharField(max_length=20, null=False) location = models.CharField(max_length=20, null=False) iteam = models.CharField(max_length=20, null=False) landmark = models.CharField(max_length=20, null=False) datetime = models.DateTimeField() content = models.TextField() iteam_pic = models.ImageField(null=False, blank=False) def get_absolute_url(self): return reverse("detail", kwargs={"id": self.id}) #f"/search/{self.id}/" def __str__(self): return self.fullname
class UserProfile(models.Model): user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='userprofile') image = models.ImageField(default='default.png', upload_to='profile_pics') complete = models.BooleanField(default=False) phone = PhoneField(blank=True, help_text='Contact phone number' ) #add international phone number field name = models.CharField(max_length=200, blank=True) desc = models.TextField(blank=True) def __str__(self): return self.user.username def save(self, **kwargs): super().save() img = Image.open(self.image.path) if img.height > 300 or img.width > 300: output_size = (300, 300) img.thumbnail(output_size) img.save(self.image.path)
class CustomUser(AbstractBaseUser, PermissionsMixin): email = models.EmailField(max_length=255, unique=True, db_index=True) username = models.CharField(max_length=255, unique=True, db_index=True) is_staff = models.BooleanField(default=False) is_active = models.BooleanField(default=True) id = models.AutoField(primary_key=True) phone_no = PhoneField(blank=False) auth_provider = models.CharField(max_length=255, blank=False, null=False, default=AUTH_PROVIDERS.get('email')) USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['username'] objects = CustomUserManager() def __str__(self): return self.email def tokens(self): refresh = RefreshToken.for_user(self) return {'refresh': str(refresh), 'access': str(refresh.access_token)}
class vendor(models.Model): pet_adoption_centre_name = models.CharField(max_length=50) user = models.OneToOneField(User, on_delete=models.CASCADE) #username = models.CharField(max_length = 10) #password = models.CharField(max_length = 15) #vendor_emailid = models.EmailField() pet_adoption_centre_logo = models.ImageField( upload_to='media/adoption_centre_logo', blank=True, null=True) vendor_contact = PhoneField(blank=True, help_text='Contact number') vendor_timestamp = models.DateTimeField(auto_now_add=True, auto_now=False) vendor_update = models.DateTimeField(auto_now_add=False, auto_now=True) pet_adoption_location = models.CharField(max_length=500) pet_location_longitude = models.CharField(max_length=500) pet_location_latitude = models.CharField(max_length=500) class Meta: db_table = "vendor" def __str__(self): return self.pet_adoption_centre_name def save(self): super().save() img = Image.open(self.pet_adoption_centre_logo.path) if img.height > 300 or img.width > 300: output_size = (300, 300) img.thumbnail(output_size) img.save(self.pet_adoption_centre_logo.path) @property def pet_adoption_centre_logo_url(self): if self.pet_adoption_centre_logo and hasattr( self.pet_adoption_centre_logo, 'url'): return self.pet_adoption_centre_logo.url return '#'
class User(AbstractUser): USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['username'] email = models.EmailField(unique=True) username = models.CharField(verbose_name='username', max_length=200, unique=True) first_name = models.CharField( verbose_name='first name', max_length=200, blank=True, ) last_name = models.CharField( verbose_name='last name', max_length=200, blank=True, ) location = models.CharField( verbose_name='location', max_length=200, blank=True, ) phone = PhoneField(blank=True, help_text='Contact phone number') things_love = models.CharField( blank=True, max_length=200, ) description = models.CharField(blank=True, max_length=200) date_joined = models.DateTimeField(auto_now_add=True) profile_picture = models.ImageField(upload_to='', blank=True) def __str__(self): return self.username def get_full_name(self): return f'{self.first_name} {self.last_name}'
class vendor(models.Model): choices = ( ("1", "Pending"), ("2", "Approved"), ("3", "Rejected"), ) user = models.ForeignKey(User, on_delete=models.CASCADE) birth_date = models.DateField(null=True, blank=True) phone = PhoneField(help_text='Contact phone number') aadhar_regex = RegexValidator(regex=r'^\+?1?\d{12}$', message="Aadhar number must be entered only 12 digits allowed.") aadhar_number = models.CharField(validators=[aadhar_regex], max_length=12) address = models.ForeignKey(address, on_delete=models.SET_NULL, null=True, blank=True) aadhar_front = models.FileField(null=True, blank=True, upload_to="aadhar") aadhar_back = models.FileField(null=True, blank=True,upload_to="aadhar") created_date = models.DateTimeField(default=now, blank=True) status = models.CharField(choices=choices,max_length=20, blank=True, null=True) def __str__(self): return self.user.username def __init__(self, *args, **kwargs): super(vendor, self).__init__(*args, **kwargs) self.__original_status = self.status def save(self, force_insert=False, force_update=False, *args, **kwargs): if self.status != self.__original_status: if self.status == "2": msg = "Approved" elif self.status == "3": msg = "Rejected" elif self.status == "1": msg = "Pending" send_mail('HOPON - Account verified!',"Your request for Vendor with HopON is "+ msg +"\n \nPlease login to your account and proceed further.", settings.EMAIL_HOST_USER, [self.user.email]) super(vendor, self).save(force_insert, force_update, *args, **kwargs) self.__original_status = self.status
class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) image = models.ImageField(default='default.jpg', upload_to='profile_pics') firstname = models.CharField(max_length=20, null=True, blank=True) surname = models.CharField(max_length=20, null=True, blank=True) sex = models.CharField(max_length=3, choices=sex_choices, default="ຊາຍ", null=True, blank=True) tel = PhoneField(blank=True, help_text='Contact phone number e.g 2055667788-856', null=True) village = models.CharField(max_length=20, null=True, blank=True) district = models.CharField(max_length=12, choices=vt_districts, default="ຈັນທະບູລິ", null=True, blank=True) province = models.CharField(max_length=17, default="ນະຄອນຫຼວງວຽງຈັນ", null=True, blank=True) birthday = models.DateField(help_text='YY-MM-DD', null=True, blank=True) def __str__(self): return f'{self.user.username} Profile' def save(self, *args, **kwargs): super(Profile, self).save(*args, **kwargs) img = Image.open(self.image.path) if img.height > 300 or img.width > 300: output_size = (300, 300) img.thumbnail(output_size) img.save(self.image.path)
class Account(AbstractBaseUser): email = models.EmailField(verbose_name="email", max_length=60, unique=True) organization_name = models.CharField(max_length=60, unique=True) organization_website = models.URLField(max_length=1000, unique=True) organization_description = models.CharField(max_length=200) admin_name = models.CharField(max_length=60) phone_number = PhoneField(blank=True) country = CountryField(blank_label='(select country') postal_code = models.CharField(max_length=60) logo = models.ImageField(upload_to="account/media", default="") #Not important is_admin = models.BooleanField(default=False) is_active = models.BooleanField(default=True) is_staff = models.BooleanField(default=False) is_superuser = models.BooleanField(default=False) date_joined = models.DateTimeField(verbose_name='last login', auto_now_add=True) last_login = models.DateTimeField(verbose_name='last login', auto_now=True) #Not important objects = MyAccountManager() USERNAME_FIELD = 'email' REQUIRED_FIELDS = [ 'organization_name', 'organization_website', 'organization_description', 'admin_name', 'phone_number', 'country', 'postal_code', 'logo' ] def __str__(self): return self.organization_name def has_perm(self, perm, obj=None): return self.is_admin def has_module_perms(self, app_label): return True
class Employee(models.Model): """Сотрудник компании""" first_name = models.CharField(max_length=50, verbose_name='Имя') middle_name = models.CharField(max_length=50, verbose_name='Отчество') last_name = models.CharField(max_length=50, verbose_name='Фамилия') birthday = models.DateField(verbose_name='Дата рождения') email = models.EmailField(verbose_name='e-mail') phone = PhoneField(verbose_name='Телефон') begin_work = models.DateField(verbose_name='Начало работы') end_work = models.DateField( blank=True, null=True, help_text='Введите дату увольнения сотрудника', verbose_name='Окончание работы' ) position = models.CharField(max_length=200, verbose_name='Должность') department = models.ForeignKey( Department, on_delete=models.SET_NULL, blank=True, null=True, verbose_name='Отдел') class Meta: db_table = 'employee' ordering = ['last_name', 'first_name', 'middle_name'] def get_absolute_url(self): return reverse('employee-detail', args=[str(self.id)]) def display_last_name(self): return '{0} {1} {2}'.format(self.last_name, self.first_name, self.middle_name) display_last_name.short_description = 'Ф.И.О.' def __str__(self): return self.display_last_name()
class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) title = models.CharField(max_length=25, null=True, blank=True) summary = models.TextField(max_length=500, null=True, blank=True) image = models.ImageField(default='user_profiles/images/default.jpg', upload_to='user_profiles/images/', null=True) address_line_1 = models.CharField(max_length=200, null=True, blank=True) address_line_2 = models.CharField(max_length=200, null=True, blank=True) street_address = models.TextField(max_length=500, null=True, blank=True) country = CountryField(blank_label='(select country)') gender = models.CharField(max_length=10, choices=GENDER_CHOICES) date_of_birth = models.DateField(null=True, blank=True) phone = PhoneField(blank=True) reg_date = models.DateTimeField(auto_now_add=True, auto_now=False) modified_date = models.DateTimeField(auto_now_add=False, auto_now=True) timezone = models.CharField(max_length=50, default='UTC') def __str__(self): return '{} Profile'.format(self.user.username.capitalize()) # Override the save method def save(self): super().save() img = Image.open(self.image.path) if img.width != 200 and img.height != 200: output_size = (200, 200) img.resize(output_size, Image.ANTIALIAS).save(self.image.path) def delete(self, using=None, keep_parents=False): super().delete() if self.image.path != os.path.join(settings.MEDIA_ROOT, 'user_profiles/images/default.jpg'): os.remove(self.image.path) def get_absolute_url(self): return reverse('user_profiles:profile')
class Order(models.Model): ref_code = models.CharField(max_length=15) owner = models.ForeignKey(Account, on_delete=models.SET_NULL, null=True) items = models.ManyToManyField(OrderItem) date_ordered = models.DateTimeField(auto_now=True) # DELIVERY delivery_option = models.ForeignKey(Delivery, on_delete=models.SET_NULL, null=True) is_ordered = models.BooleanField(default=False) is_done = models.BooleanField(default=False) is_payed = models.BooleanField(default=False) is_sent = models.BooleanField(default=False) # ADDRESS address = models.CharField(max_length=120, default=None, null=True) postcode = models.CharField(max_length=6, default=None, null=True) city = models.CharField(max_length=30, default=None, null=True) phone_number = PhoneField(blank=True, null=True) def get_cart_items(self): return self.items.all() def get_items_number(self): return self.items.all().count() def get_cart_total(self): return sum([item.product.price for item in self.items.all()]) def get_cart_plus_delivery(self): return sum([item.product.price for item in self.items.all()], self.delivery_option.option_price) def __str__(self): return str(self.date_ordered)
class ArtistPortfolio(models.Model): artistry_category = models.ForeignKey(ArtistryCategory, on_delete=models.CASCADE) business_name = models.CharField(max_length=200) business_owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) # noqa profile_image = models.ImageField(upload_to='pics') email_address = models.EmailField(max_length=70, blank=True, null=True) phone_number = PhoneField(null=False, blank=False) description = RichTextUploadingField(max_length=10000, blank=True, null=True) # noqa portfolio_images = RichTextUploadingField(max_length=10000, blank=True, null=True, config_name='special', external_plugin_resources=[('youtube', '/static/personal/vendor/ckeditor_plugins/youtube', 'plugin.js',)],) # noqa slug = models.SlugField(max_length=255, blank=True, null=True, unique=True) status = models.CharField(max_length=1, choices=STATUS) class Meta: verbose_name = "Artist Portfolio" verbose_name_plural = "Artist Porfolios" ordering = ['business_owner', 'business_name'] # methods def __str__(self): return self.business_name def save(self, *args, **kwargs): self.slug = slugify(self.business_name + "-" + self.business_owner.username) # noqa super().save(*args, **kwargs)
class Application(models.Model): owner = models.ForeignKey(User, on_delete=models.CASCADE, related_name="job_applications") company = models.CharField(max_length=255) position = models.CharField(max_length=255) description = models.TextField( blank=True, null=True, ) notes = models.TextField( blank=True, null=True, ) contact_name = models.CharField(max_length=255, blank=True, null=True) contact_email = models.CharField(max_length=255, blank=True, null=True) contact_phone = PhoneField(blank=True, null=True, help_text='Contact phone number') date_submitted = models.DateTimeField(auto_now_add=True) status = models.CharField(max_length=255, blank=True, null=True) def __str__(self): return f"{self.company} {self.position} submitted on {self.date_submitted}"
class Profile(models.Model): user_id = models.ForeignKey(User, related_name='profiles', on_delete=models.CASCADE) gender = models.CharField(max_length=12, blank=False) mobile_no = PhoneField(max_length=20, blank=True) #email = models.EmailField(max_length=150) signup_confirmation = models.BooleanField(default=False) about = models.CharField(max_length=150, blank=True) photo = models.ImageField(upload_to='', blank=False) #TODO chanage location field here #Have to think of it... Experimental location = models.CharField("Office location", blank=False, null=False, max_length=50) # created_at = models.DateTimeField(auto_now=True) updated_at = models.DateTimeField(auto_now_add=True) # def __str__(self): # return self.user.username class Meta: unique_together = ["user_id", "gender", "mobile_no", "location"] ordering = ['user_id']
class Party_Wholeseller(models.Model): #add auto increment #do not make id default party_id = models.CharField(max_length=10, null=False, primary_key=True) name = models.CharField(max_length=20, null=False) address = models.CharField(max_length=50) city = models.CharField(max_length=10) state = models.CharField(max_length=20) gstin = models.CharField(null=False, verbose_name="GST Number", max_length=20) dl_number = models.CharField(null=False, max_length=10) contact = PhoneField(blank=True) pan_number = models.CharField(max_length=11, null=False, unique=True, verbose_name="Pan Number") cheque = GenericRelation(Cheque) def __str__(self): return self.name def get_absolute_url(self): return reverse('create-wholeseller')
class Psychologue(CustomUser): is_client = models.BooleanField(default = False) is_psychologist = models.BooleanField(default = True) user = models.OneToOneField(CustomUser, on_delete=models.CASCADE, parent_link=True) permis_num = models.CharField(max_length=15, blank=True, null=True) permis_date = models.DateField(blank=True, default='2018-01-01', null=True) avatar = models.ImageField(upload_to = 'media/profile_picture/') phone = PhoneField(blank=True, help_text='Contact phone number') fax = models.CharField(max_length=10, blank=True) bio = models.TextField(max_length=1700, blank=True) education = models.CharField(max_length=70, blank=True) site_web = models.URLField(blank=True) linked_in = models.URLField(blank=True) tps = models.CharField(max_length=20, blank=True, null=True) tvq = models.CharField(max_length=20, blank=True, null=True) USERNAME_FIELD = 'email' def __str__(self): user_info = Psychologue.objects.get(id=self.user_id) return user_info.first_name + ' ' + user_info.last_name class Meta: verbose_name = 'Psychologue' verbose_name_plural = 'Psychologues' def get_absolute_url(self): return reverse('profile', kwargs={'pk': self.pk})
class Visioneer(models.Model): firstname = models.CharField('First Name', max_length=100, null=False) lastname = models.CharField('Last Name', max_length=100, null=False) visioneerEmailAddress = models.EmailField('*****@*****.**', max_length=100, null=False, unique=True) password = models.CharField('Password', max_length=100, null=False) passwordhashfunction = models.CharField(max_length=100, null=False, default='MD%') orgunitpath = models.CharField(max_length=100, null=False, default='org') recoveryemail = models.EmailField('Recovery Email', max_length=100, null=False) recoveryphone = PhoneField( 'Phone Number', blank=True, ) homeaddress = models.CharField('Primary Address', max_length=100, null=False) employeeid = models.CharField('USN', max_length=100, null=False) departement = models.CharField(max_length=100, null=False, default='title')
class CustomUser(AbstractBaseUser, PermissionsMixin): username = models.CharField(max_length=100, unique=True) DOB = models.DateField(blank=True,null=True) email = models.EmailField(null=True, blank=True) first_name = models.CharField(max_length=100,null=True, blank=True) last_name = models.CharField(max_length=100,null=True, blank=True) is_Doctor = models.BooleanField(default=False) is_Patient = models.BooleanField(default=False) is_staff = models.BooleanField(default=False) is_active = models.BooleanField(default=True) is_superuser = models.BooleanField(default=False) is_hospital_staff=models.BooleanField(default=False) date_joined = models.DateTimeField(auto_now_add=True) # profile_pic = models.ImageField( # upload_to="uploads/%Y/%m/%d/", null=True, blank=True # ) profile_pic=models.TextField(null=True,blank=True) contact_no = PhoneField(blank=True, help_text = 'Contact phone number',null=True) objects = CustomManager() USERNAME_FIELD = "username" REQUIRED_FIELDS = []
class Record(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='records') title = models.CharField(max_length=225) sex = models.CharField(max_length=225) age = models.PositiveIntegerField() phone = PhoneField(blank=False, help_text='Contact phone number') created_at = models.DateTimeField(auto_now=True) surgery_history = models.TextField() surgery_history_html = models.TextField(editable=False) def __str__(self): return "User: {}, Title: {}, Sex: {}, ".format(self.user.username, self.title, self.sex) def save(self, *args, **kwargs): self.surgery_history_html = misaka.html(self.surgery_history) super().save(*args, **kwargs) def get_absolute_url(self): return reverse('records:single', kwargs={'username':self.user.username,'pk':self.pk}) class Meta: ordering = ['-created_at'] unique_together = ['user', 'surgery_history']