Поле '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)