Код для получения доступных мест после добавления данных о пассажирах (no_of_passengers) и обновления этих данных в классе полета ... Я делаю это на очень базовом уровне

код для получения свободных мест после добавления данных о пассажире (no_of_passengers) и обновления этого в классе полета ... Я делаю это на очень базовом уровне.код для получения свободных мест после добавления данных о пассажире (no_of_passengers) и обновления этого в классе полета ... Я делаю это на очень базовом уровне.

Вот мой model.py, использующий фреймворк Django-rest. Я хочу обновить aailable_seats(класс Flight) после добавления информации о пассажирах(No .of passengers).

.




import email
from pyexpat import model
from django.db import models





GENDER_CHOICES = (
    (0, 'male'),
    (1, 'female'),
    (2, 'not specified'),)

# Create your models here.
class Airport(models.Model):
    Airport_name=models.CharField(max_length=100)
    country=models.CharField(max_length=100)

    def __str__(self):
        return self.Airport_name

class Flight(models.Model):

    # f_id = models.UUIDField(primary_key=True)
    # a_id = models.UUIDField()
    flight_number = models.CharField(max_length=100,unique=True)
    depart_date_time = models.DateTimeField(auto_now_add=True)
    arrival_date_time = models.DateTimeField(auto_now_add=True)
    origin = models.CharField(max_length=100, blank=True, default='')
    destination = models.CharField(max_length=100, blank=True, default='')
    price = models.IntegerField()
    airline_name = models.CharField(max_length=100, blank=True, default='')
    total_seats = models.IntegerField()
    available_seats =  models.IntegerField()
    
    #code = models.TextField()
    airport=models.ForeignKey(Airport,on_delete=models.CASCADE)

    def __str__(self):
        return str(self.flight_number)

    # def user_count(self):
        # return "Available Seats: " + self.available_seats.count + "Total Seats: " + self.total_seats.count

    
    

class User(models.Model):
    name = models.CharField(max_length=100,blank=True, default='')
    contact_number= models.IntegerField()
    gender = models.IntegerField(choices=GENDER_CHOICES)
    address= models.CharField(max_length=100,blank=True, default='')
    email = models.EmailField(max_length=254)
    password = models.CharField(max_length=100,blank=True, default='')
    state=models.CharField(max_length=100,blank=True, default='')
    city=models.CharField(max_length=100,blank=True, default='')
    country=models.CharField(max_length=100,blank=True, default='')
    pincode= models.IntegerField()
    dob = models.DateField()
    CHOICE= ((0,'Admin'),(1, 'User'))
    user_role = models.IntegerField(choices=CHOICE)

    def __str__(self):
        return self.name

class Passenger(models.Model):
    name = models.CharField(max_length=100,blank=True, default='')
    contact_number= models.IntegerField()
    email = models.EmailField(max_length=254)
    
    gender = models.IntegerField(choices=GENDER_CHOICES)
    age= models.IntegerField()
    user=models.ForeignKey(User,on_delete=models.CASCADE)

    def __str__(self):
        return self.name  


class Booking(models.Model):
    user =models.ForeignKey(User,on_delete=models.CASCADE)
    flights =models.ForeignKey(Flight,on_delete=models.CASCADE)
    passenger =models.ManyToManyField(Passenger)
    booking_number= models.IntegerField(default=0, blank= True)
    booking_time = models.DateTimeField(auto_now=False, auto_now_add=False)
    no_of_passengers= models.IntegerField(default=0, blank= True)

    def __str__(self):
        return self.booking_number

Вернуться на верх