Как получить точные значения foreignkeys в админке django


class Mio_terminal(models.Model):
    terminal = models.CharField(max_length = 50)
    gate = models.CharField(max_length = 50)
    gate_status = models.CharField(max_length = 50, default = 'open') #open, occupied, under_maintenance
    class Meta:
        unique_together = [['terminal', 'gate']]



class Mio_flight_schedule(models.Model):
    fact_guid = models.CharField(max_length=64, primary_key=True)
    airline_flight_key = models.ForeignKey(Mio_airline, related_name = 'flight_key',  on_delete = models.CASCADE)    
    source = models.CharField(max_length = 100)
    destination = models.CharField(max_length = 100)
    arrival_departure = models.CharField(max_length=12)
    time =  models.DateTimeField()
    gate_code = models.ForeignKey(Mio_terminal, related_name = 'terminal_gate', null = True, on_delete = models.SET_NULL)
    baggage_carousel = models.CharField(max_length = 100)
    remarks = models.CharField(max_length = 100)
    terminal_code = models.ForeignKey(Mio_terminal, related_name = 'airport_terminal', null = True, on_delete = models.SET_NULL)





это модели для терминала и расписания рейсов.

enter image description here

Я хочу иметь название терминала и код ворот вместо объекта...

я знаю, что мы можем получить это, используя метод str в models...., но мы получаем только одно значение для этого... не более одного

пожалуйста, дайте мне знать, как мне с этим справиться?

Вы можете изменить отображаемое имя моделей в интерфейсе администратора django с помощью def __str__(self).

Для этого в вашем коде добавьте эту функцию после класса Mio_terminal :

class Mio_terminal(models.Model):
    terminal = models.CharField(max_length = 50)
    gate = models.CharField(max_length = 50)
    gate_status = models.CharField(max_length = 50, default = 'open') #open, occupied, under_maintenance
    class Meta:
        unique_together = [['terminal', 'gate']]
    
    # add this
    def __str__(self):
        return str(self.terminal+' '+self.gate) 
Вернуться на верх