Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法在使用django时增加对象的最新值_Python_Django_Oracle_Increment - Fatal编程技术网

Python 无法在使用django时增加对象的最新值

Python 无法在使用django时增加对象的最新值,python,django,oracle,increment,Python,Django,Oracle,Increment,我想增加表中最后一个id的值,以便在下一行中输入不同的值。我在python项目中使用Oracle11g数据库。请看我的示例代码 custID = Customer.objects.lates('CUSTOMER_ID') custID = int(custID) + 1 #received error custName = "Peter" Customer.objects.create('CUSTOMER_ID'=str(custID), 'CUSTOMER_NAME'=custName) #

我想增加表中最后一个id的值,以便在下一行中输入不同的值。我在python项目中使用Oracle11g数据库。请看我的示例代码

custID = Customer.objects.lates('CUSTOMER_ID')
custID = int(custID) + 1 #received error
custName = "Peter"

Customer.objects.create('CUSTOMER_ID'=str(custID), 'CUSTOMER_NAME'=custName) #this line is ok
我得到了这个错误:
TypeError:int()参数必须是一个字符串,一个字节,比如对象或数字,而不是“Customer”

我尝试在线搜索,并更改了我的代码,如

Customer.objects.create('CUSTOMER_NAME'=custName)
但没有起作用,因为我的it在我的数据库和python模型上不是自动递增的

我也试过这个

custID = sum(int(custID), 1)

对不起,我刚到django。

好吧,如果我没听错的话,这是你的问题:

custID = Customer.objects.latest('CUSTOMER_ID')
此语句将返回一个
Customer
对象,因此您需要使用

custId = custID.CUSTOMER_ID + 1

好吧,如果我理解正确的话,这就是你的问题:

custID = Customer.objects.latest('CUSTOMER_ID')
此语句将返回一个
Customer
对象,因此您需要使用

custId = custID.CUSTOMER_ID + 1

Customer.objects.latest('Customer\u ID')
返回一个对象,而不是ID。您需要的是:

custID = Customer.objects.latest('CUSTOMER_ID').id

但是,创建新客户时不需要指定id;通常Django会自己获取id

Customer.objects.latest('Customer\u ID')
返回一个对象,而不是ID。您需要的是:

custID = Customer.objects.latest('CUSTOMER_ID').id

但是,创建新客户时不需要指定id;通常Django会自己获取id

您是否可以尝试使用
type(custID)
打印返回的custID的类型?它显示您收到了错误。不能显式地将类类型转换为int。您需要使用
custID.id
获取您的id,然后将其递增。请看下面的答案。一个旁注,你应该考虑使用<代码>()表达式来避免竞争条件。你可以尝试使用<代码>类型(CUCITD)打印返回的CUTIDD的类型吗?它显示了<代码> <代码>你得到了错误。不能显式地将类类型转换为int。您需要使用
custID.id
获取您的id,然后将其递增。请看下面的答案。一个旁注,你应该考虑使用<代码> f-(表达式)< /代码>以避免竞争条件。