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