字段"codigo_cad"期望一个数字,但得到<客户:1>



我不知道如何解决这个问题:我在拉customer.codigo_cad时遇到问题,因为我有str功能,只发送字符串,对象请求int,每当我试图移动这部分时,错误就会变得更大,就像位置读起来好像是一个表对象,而不是int,提前感谢任何帮助我的人

我的模型:

def __str__(self):
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}'

我的观点:

def altera_venda(request,pk):
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)

相关内容

  • 没有找到相关文章

最新更新