Django 没有这样的表[appname]\u userprofile

Django 没有这样的表[appname]\u userprofile,django,Django,我正在写我的第二个Django应用程序。我目前只有一张表,我对看到的错误感到困惑。假设我的应用程序名为“GenericaApplication” 我有一个名为UserProfile的表,它扩展了Django用户默认表 class UserProfile(models.Model): user = models.OneToOneField(User) picture = models.ImageField(upload_to='profile_images', blank=True

我正在写我的第二个Django应用程序。我目前只有一张表,我对看到的错误感到困惑。假设我的应用程序名为“GenericaApplication”

我有一个名为UserProfile的表,它扩展了Django用户默认表

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    picture = models.ImageField(upload_to='profile_images', blank=True)
    city = models.CharField(max_length = 20)
到目前为止还不错

但出于某种原因,Django似乎在向表中添加一个额外的名称空间。我得到以下错误:

“没有这样的表:GenericaApplication\u userprofile”

当我尝试在我的管理员中编辑该表时,我收到以下错误消息:

在/admin/genericapplication/userprofile处出现操作错误/ 没有这样的表:GenericaApplication\u userprofile

以下是我的文件结构:

/genericapplication
   manage.py
   db.sqlite3
   /genericapplication
     /static
     /templates
     __init.__py
     forms.py
     models.py
     settings.py
     urls.py
     views.py
     wsgi.py

为什么要重命名表?我不知道在这里找什么。任何指导都将不胜感激

默认情况下,Django使用


如果您遇到“没有这样的表”错误,那么听起来您需要为应用程序创建一个迁移,然后运行它。

我不知道原因,但运行manage.py makemigrations成功了。makemigrations本身没有检测到更改。

您尝试过吗

python ./manage.py migrate --fake-initial

正如那个家伙所说,默认情况下,django名称表appname\u modelname对我有效。您可能需要运行
python manage.py migrate
来创建所有表和/或检查数据库配置。db_表设置解决了一半问题(非常有用!)。我的管理员仍在另一个文件夹中查找userprofile。你说的另一个文件夹是什么意思?为什么表的命名方式不是django命名的,您是手工创建数据库结构的吗?我已经迁移了,当我再次迁移时,它不会注册任何更改。Mad Wombat,我不明白django名字的问题,但是我上面提到的错误--OperationalError at/admin/genericapplication/userprofile/--使它看起来像是有一个文件结构问题,否?没有文件结构问题-
/admin/genericapplication/userprofile/
是在
genericapplication
应用程序中编辑用户配置文件的正确url。