ValueError: invalid literal for int () with base 10:

I get this error value when I try to insert some data into the django model. My python script:

from task.employeeDetails.models import EmployeeDetails

def dumpdata():
    userName = "John"    
    designation = 'Software Engineer'
    employeeID = 2312
    contactNumber = 9495321257
    project = 'AOL'
    dateOfJoin = '2009-10-10'    
    EmployeeDetails(userName,designation,employeeID,contactNumber,project,dateOfJoin).save()     
dumpdata() 

My models.py

class EmployeeDetails(models.Model):
    userName = models.CharField(max_length=200)
    designation = models.CharField(max_length=200)
    employeeID = models.IntegerField()
    contactNumber = models.CharField(max_length=200)
    project = models.CharField(max_length=200)
    dateOfJoin=models.TextField()

Please help me resolve this error as I am new to python programming. Error: "ValueError: invalid literal for int () with base 10:" John "

+3
source share
2 answers

I'm not a Django expert, but try replacing

EmployeeDetails(userName,designation,employeeID,contactNumber,project,dateOfJoin).save() 

with

EmployeeDetails(userName=userName,designation=designation,employeeID=employeeID,contactNumber=contactNumber,project=project,dateOfJoin=dateOfJoin).save() 
+5
source

Do not use positional arguments; use keywords to indicate which field is populated with data.

EmployeeDetails(userName=userName, designation=designation) #etc

In addition, if you intend to call save()anyway, you can useEmployeeDetails.objects.create(...)

+7
source

Source: https://habr.com/ru/post/1795735/


All Articles