TypeError: аргумент должен быть int или float в Django 3.0

Здесь я предполагаю, что получаю эту ошибку при попытке вывести имя_элемента

рассмотрим мой models.py как

class Wastage(models.Model):
    client = models.ForeignKey(Client,on_delete=models.CASCADE)
    date = models.DateField(auto_now_add=True)
    item_name = models.ForeignKey(Items,on_delete=models.CASCADE)


class Items(models.Model):
    item_name = models.CharField(max_length=512)
    def __str__(self):
       return self.item_name

вот мой views.py

class WastageView(ListView):
    template_name = 'wastage_list.django.html'
    model = Wastage
    context_object_name = "stock_wastage"
    def get_context_data(self, **kwargs):
        context = super(WastageView, self).get_context_data(**kwargs)
        context["faulty_reasons"] = FaultyReason.objects.filter(client=self.request.user.client,is_deleted=False)
        return context

    def get_queryset(self):
        user = self.request.user
        client = user.client
        query = self.request.GET.get('query')
        if query:
            return self.model.objects.filter(client=client, name__icontains=query).order_by('-date')
        return self.model.objects.filter(client=client).order_by('-date')

Теперь рассмотрим мой шаблон wastage_list.django.html как

{% for item in stock_wastage %}
     <tr>
        <td>{{ item.date|date }}</td>
        <td>{{ item.item_name }} </td>
     </tr>
{% endfor %}

Здесь моя проблема связана с именем_элемента

вот пример записи моей базы данных

id     client_id       date           item_name_id

1        3           2021-06-24           103

2        3           2021-11-23           21

3        3           2022-01-02           53

Вот трассировка моей ошибки

Traceback (последний последний вызов): File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/fields/related_descriptors.py", line 172, in get. rel_obj = self.field.get_cached_value(instance) Файл "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/fields/mixins.py", строка 13, in get_cached_value return instance._state.fields_cache[имя_кэша]. KeyError: 'item_name'

Во время обработки вышеуказанного исключения произошло другое исключение:

Пожалуйста, помогите мне отобразить имя_предмета

В основном 'KeyError' происходит из-за несуществующей переменной или экземпляра. В вашем случае, я думаю, вам следует вызвать "item_name_id" вместо "item_name"

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