我不知道如何解决这个问题:我在拉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)