Django syncdb AttributeError:'list'对象没有属性'startswith'

时间:2013-01-07 23:39:17

标签: mysql database django models syncdb

无法为此找到解决方案。

models.py

class Product(models.Model):
    prod_id = models.IntegerField(primary_key = True)
    prod_name = models.CharField(max_length=128)
    prod_price = models.FloatField()
    prod_quantity = models.CharField(max_length=75)
    prod_description = models.TextField()
    prod_attributes = models.TextField()
    prod_ingredients = models.TextField()

settings.py

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'MyApp',

这是抛出的错误:

  

创建表格......       self.fetch_command(子命令).run_from_argv(self.argv)     在run_from_argv中的文件“C:\ Python27 \ Lib \ site-packages \ django \ core \ management \ base.py”,第196行       self.execute(* args,** options。 dict )     文件“C:\ Python27 \ Lib \ site-packages \ django \ core \ management \ base.py”,第232行,执行       output = self.handle(* args,** options)     句柄中的文件“C:\ Python27 \ Lib \ site-packages \ django \ core \ management \ base.py”,第371行       return self.handle_noargs(**选项)     在handle_noargs中的文件“C:\ Python27 \ Lib \ site-packages \ django \ core \ management \ commands \ syncdb.py”,第91行       sql,references = connection.creation.sql_create_model(model,self.style,seen_models)     在sql_create_model中的文件“C:\ Python27 \ Lib \ site-packages \ django \ db \ backends \ creation.py”,第82行       style.SQL_TABLE(qn(opts.db_table))+'(']     文件“C:\ Python27 \ Lib \ site-packages \ django \ db \ backends \ mysql \ base.py”,第244行,在quote_name中       如果name.startswith(“") and name.endswith("”):   AttributeError:'list'对象没有属性'startswith'

所以关键部分: AttributeError:'list'对象没有'startswith'属性

任何人都有任何想法,为什么我收到此错误?我已经尝试了很多不同的东西,它甚至不会工作,即使你成功创建其他表,它也不会创建我的模型类。我正在使用mysql数据库。

1 个答案:

答案 0 :(得分:2)

回溯表明您可能错误地使用了db_table选项。它应该是一个字符串,而不是一个列表。请检查您的使用情况,如果您不确定,请使用更多代码更新您的问题。