@@ -9,10 +9,10 @@ class User(AbstractUser):
99 ("admin" , "Admin" ),
1010 ("technician" , "Technician" ),
1111 ]
12+ fullname = models .CharField (max_length = 255 )
1213 role = models .CharField (max_length = 20 , choices = ROLE_CHOICES )
1314 address = models .JSONField (blank = True , null = True )
14- phone_no = models .CharField (max_length = 20 , blank = True , default = "" )
15- mobile_no = models .CharField (max_length = 20 , blank = True , default = "" )
15+ mobile = models .CharField (max_length = 20 , blank = True , default = "" )
1616
1717
1818class Tag (models .Model ):
@@ -37,23 +37,31 @@ class Profile(models.Model):
3737 years_experience = models .PositiveIntegerField (blank = True , null = True )
3838 months_experience = models .PositiveIntegerField (blank = True , null = True )
3939 tags = models .ManyToManyField (Tag , blank = True ) # Expertise categories
40- available_days = models .JSONField (blank = True , null = True ) # Calendar availability data
41- price_hour = models .DecimalField (max_digits = 10 , decimal_places = 2 , blank = True , null = True )
42- price_day = models .DecimalField (max_digits = 10 , decimal_places = 2 , blank = True , null = True )
40+ available_days = models .JSONField (
41+ blank = True , null = True
42+ ) # Calendar availability data
43+ price_hour = models .DecimalField (
44+ max_digits = 10 , decimal_places = 2 , blank = True , null = True
45+ )
46+ price_day = models .DecimalField (
47+ max_digits = 10 , decimal_places = 2 , blank = True , null = True
48+ )
4349
4450 def __str__ (self ):
45- return str (self .user . username )
51+ return str (self .user )
4652
4753
4854class Review (models .Model ):
49- technician = models .ForeignKey (Profile , on_delete = models .CASCADE , related_name = "reviews" )
55+ technician = models .ForeignKey (
56+ Profile , on_delete = models .CASCADE , related_name = "reviews"
57+ )
5058 reviewer = models .ForeignKey (settings .AUTH_USER_MODEL , on_delete = models .CASCADE )
5159 rating = models .PositiveSmallIntegerField ()
5260 review_text = models .TextField ()
5361 created_at = models .DateTimeField (auto_now_add = True )
5462
5563 def __str__ (self ):
56- return str (self .technician . user . username ) + " - " + str (self .rating )
64+ return str (self .technician ) + " - " + str (self .rating )
5765
5866
5967class Booking (models .Model ):
@@ -62,14 +70,20 @@ class Booking(models.Model):
6270 ("completed" , "Completed" ),
6371 ("cancelled" , "Cancelled" ),
6472 ]
65- technician = models .ForeignKey (Profile , on_delete = models .CASCADE , related_name = "bookings" )
66- user = models .ForeignKey (settings .AUTH_USER_MODEL , on_delete = models .CASCADE , related_name = "bookings" )
73+ technician = models .ForeignKey (
74+ Profile , on_delete = models .CASCADE , related_name = "bookings"
75+ )
76+ user = models .ForeignKey (
77+ settings .AUTH_USER_MODEL , on_delete = models .CASCADE , related_name = "bookings"
78+ )
6779 date_time_start = models .DateTimeField ()
6880 date_time_end = models .DateTimeField ()
6981 address = models .JSONField (blank = True , null = True )
7082 payment_done = models .BooleanField (default = False )
7183 price = models .DecimalField (max_digits = 10 , decimal_places = 2 )
72- service_status = models .CharField (max_length = 20 , choices = SERVICE_STATUS , default = "pending" )
84+ service_status = models .CharField (
85+ max_length = 20 , choices = SERVICE_STATUS , default = "pending"
86+ )
7387
7488 def __str__ (self ):
75- return f"Booking { self .id } - { self .technician . user . username } for { self .user . username } "
89+ return f"Booking { self .pk } - { self .technician } for { self .user } "
0 commit comments