Python Django:MySql中主键的自动分配失败
我遵循教程的内容,改变了使用MySql而不是sqlite3。 遵循Django的思想,考虑到我正在使用Python3.4,我正在使用驱动程序。 我创建了以下模型,如教程所示:Python Django:MySql中主键的自动分配失败,python,mysql,django,Python,Mysql,Django,我遵循教程的内容,改变了使用MySql而不是sqlite3。 遵循Django的思想,考虑到我正在使用Python3.4,我正在使用驱动程序。 我创建了以下模型,如教程所示: class Contact(models.Model): fName = models.CharField(max_length = 30) lName = models.CharField(max_length = 100) eMail = models.EmailField() de
class Contact(models.Model):
fName = models.CharField(max_length = 30)
lName = models.CharField(max_length = 100)
eMail = models.EmailField()
def str(self):
return ' '.join([self.fName, self.lName])
db已同步(迁移)正常。尽管如此,当通过shell创建联系人时
a = Contact('John', 'Doe')
然后保存它
a.save()
我得到以下错误:
ValueError: invalid literal for int() with base 10: 'John'
当我提供一个显式整数(作为主键???)作为第一个参数时,它不会出现
a = Contact(1, 'John', 'Doe')
为什么自动pk分配不能正常工作
我正在virtualenv上使用Django 1.7.7/Python 3.4
以下是设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'addressbook',
'USER': 'abuser',
'PASSWORD': '1234',
'HOST': 'localhost',
'PORT': '3306',
}
}
滥用者已通过地址簿上的grant选项被授予所有权限(同样在test_addressbook上)db要创建模型实例,您应该使用关键字参数而不是位置参数:
a = Contact(fName='John', lName='Doe')
a.save()
要创建模型实例,应使用关键字参数而不是位置参数:
a = Contact(fName='John', lName='Doe')
a.save()
要创建模型实例,应使用关键字参数而不是位置参数:
a = Contact(fName='John', lName='Doe')
a.save()
要创建模型实例,应使用关键字参数而不是位置参数:
a = Contact(fName='John', lName='Doe')
a.save()