Поле 'codigo_cad' ожидало число, но получило <Customer: 1>

Я понятия не имею, как это исправить: У меня проблемы при извлечении costumer.codigo_cad, потому что у меня есть функциональность str, которая посылает только строку, а объект запрашивает int, всякий раз, когда я пытаюсь переместить эту часть, ошибка становится больше, как будто местоположение читается как будто это табличный объект, а не int, заранее спасибо всем, кто поможет мне. *мои модели

        return str(self.codigo_cad)

    def get_aniversario(self):
        return f'{self.aniversario_cad.strftime("%d/%m/%Y") if self.aniversario_cad != None else "30/12/1899"}'

    # clica na pessoa e retorna os detalhes dela
    def get_customer_url(self):
        return f'/customer/{self.codigo_cad}'

    # clica em vendas e retorna as vendas da pessoa
    def get_sale_customer_url(self):
        return f'/venda/?customer_sale={self.codigo_cad}'

** мои взгляды **

    order_forms = Venda()
    item_order_formset = inlineformset_factory(Venda,ItemVEN,form=ItemVenForm,extra=0,can_delete=False,min_num=1,validate_min=True)
    venda = get_object_or_404(Venda,pk=pk)                        # recupera venda
    #desconto = f'{venda.desconto_ven:,}'                          # formata desconto
    cliente = get_object_or_404(Customer,pk=venda.cliente_ven) # para recuperar os dados do cliente da venda
    clientes = Customer.objects.all().order_by('pk')              # para o modal clientes
    produtos = Produto.objects.all().order_by('pk')               # para o modal produtos
    itens = ItemVEN.objects.filter(num_ven_ite=pk)                # recupera itens venda
    itens_venda = []```

Эта ошибка обычно возникает, когда вы передаете весь объект модели вместо int (только id или pk). Например, у вас есть модель под названием MyModel:

class MyModel(Model):
    ...

Затем вы извлекаете экземпляр модели из базы данных.

model_instance = MyModel.objects.get(pk=1)

У вас есть некоторая функция, которая принимает аргумент "id", который должен быть целым числом.

def some_func(id: int):  # Function expects id as integer.
    ...

А если вы передадите весь экземпляр, то возникнет исключение.

some_func(model_instance)  # Potentially could raise an exception.

Но если вы передадите только id, например, вот так, то все будет в порядке.

some_func(model_instance.id)

или

some_func(model_instance.pk)
Вернуться на верх