Django / Модели / Admin / Проблема с внешним ключом : __str__ возвращает не строку (тип tuple)

Я уже пробовал множество решений, найденных в других темах, но ничего не помогает.

У меня проблема с внешним ключом в Django Admin. Невозможно посмотреть записи или добавить новую запись.

У меня есть таблица convertion_factor, в которой нет значений NULL. смотрите конфигурацию postgreSQL

Это моя модель :

class convertion_factor(models.Model):
    foodID = models.ForeignKey('food_name', on_delete=models.CASCADE)
    measureID = models.ForeignKey('measure_name', on_delete=models.CASCADE)
    conversionFactorValue = models.FloatField()
    convFactorDateOfEntry = models.DateField(auto_now=False, auto_now_add=False) 

Для того чтобы просмотреть данные в Django Admin, необходимо добавить def __str__(self): к модели. Хорошо, давайте сделаем это :

class convertion_factor(models.Model):
    foodID = models.ForeignKey('food_name', on_delete=models.CASCADE)
    measureID = models.ForeignKey('measure_name', on_delete=models.CASCADE)
    conversionFactorValue = models.FloatField()
    convFactorDateOfEntry = models.DateField(auto_now=False, auto_now_add=False) 

    def __str__(self):
        return self.conversionFactorValue

Теперь, когда я захожу в Django Admin и нажимаю на модель convertion_factor, я вижу таблицу, но когда я пытаюсь нажать на запись, чтобы отредактировать ее, у меня возникает ошибка :

TypeError at /admin/kalo/convertion_factor/19505/change/

Exception Type: TypeError at /admin/kalo/convertion_factor/19505/change/
Exception Value: __str__ returned non-string (type float)

У меня сложилось впечатление, что это ошибка из-за внешнего ключа, потому что с другими моими моделями без внешнего ключа все работает просто отлично.

В функции def __str__(self): я пробовал :

return self.foodID.__str__ но та же ошибка

return str(self.foodID) но та же ошибка

У вас есть идеи?

Спасибо за помощь.

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

Этот код корректно работает со значением float, возвращает значение float в виде строкового значения

Ниже я добавил скриншот. просмотр страницы администратора django

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