Как я могу правильно получить поле значения из поля foreignkey

я хочу получить поле значения (с именем "width") из поля foreignkey с именем square (последний выбор пользователя), существующего на моей форме:

Вот строка кода, которую я использовал для получения этого значения("width"):

width = float(FormulaireIng.objects.get(square = FormulaireIng.objects.last()).values_list('width'))

Вот models.py:

class FormulaireIng(models.Model): 
    square = models.ForeignKey(Square, on_delete=models.CASCADE)

class Square(models.Model): 
    width = models.FloatField(verbose_name="Width", max_length=50)

после разработки отображается ошибка:

ValueError at /pdf/
Cannot query "4.0": Must be "Square" instance.

Как правильно получить поле значения из поля foreignkey из модели.

Заранее спасибо.

Ошибка ясно показывает, в чем проблема. Это должен быть экземпляр Square, а не FormulaireIng. Вы ищете 'width', который находится в модели Square, поэтому как насчет прямого запроса к модели Square. Вы можете передать id квадратного объекта и получить ширину.

width = Square.objects.get(id=id).width

Если вы хотите получить ширину для последнего поля внешнего ключа в модели Formulaireing, то...

width = FormulaireIng.objects.all().last().width

Попробуйте еще раз. Теперь должно работать

formulaire_object = FormulaireIng.objects.all().last()
square = formulaire_object.square
width = square.width
Вернуться на верх