২১.৮ : রিভিউ মডেল তৈরী

এখন আসো আমরা আমাদের রিভিউ মডেল নিয়ে কাজ করে ফেলি যেহেতু সেটা ডক্টর এর সাথে related। রিভিউ টা আমরা আমাদের হোম পেজ এও দেখাবো আবার একই রিভিউ প্রত্যেকটা ডক্টর এর জন্যে আলাদা আলাদা করে ফিল্টার করেও দেখাবো।

  • রিভিউ করবেন একজন পেশেন্ট আর একজন পেশেন্ট মাল্টিপল রিভিউ করতে পারেন তাই রিভিউ এর সাথে one to many সম্পর্ক।

  • আবার একজন ডক্টর এর মাল্টিপল রিভিউ থাকতে পারে সেজন্যে ডক্টর এর সাথে রিভিউ এর সম্পর্ক one to many। তারপর রেটিং থাকবে। সেখানে আমরা কোনো নম্বর এর পরিবর্তে স্টার সাইন ইউজ করবো আমরা।

STAR_CHOICES = [
    ('⭐', '⭐'),
    ('⭐⭐', '⭐⭐'),
    ('⭐⭐⭐', '⭐⭐⭐'),
    ('⭐⭐⭐⭐', '⭐⭐⭐⭐'),
    ('⭐⭐⭐⭐⭐', '⭐⭐⭐⭐⭐'),
]
class Review(models.Model):
    reviewer = models.ForeignKey(Patient, on_delete = models.CASCADE)
    doctor = models.ForeignKey(Doctor, on_delete = models.CASCADE)
    body = models.TextField()
    created = models.DateTimeField(auto_now_add = True)
    rating = models.CharField(choices = STAR_CHOICES, max_length = 10)
    
    def __str__(self):
        return f"Patient : {self.reviewer.user.first_name} ; Doctor {self.doctor.user.first_name}"

Last updated