Django 没有这样的表[appname]\u userprofile
我正在写我的第二个Django应用程序。我目前只有一张表,我对看到的错误感到困惑。假设我的应用程序名为“GenericaApplication” 我有一个名为UserProfile的表,它扩展了Django用户默认表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
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。