【发布时间】:2017-03-27 16:18:47
【问题描述】:
我正在开发的一个新应用程序出现此错误,该应用程序是我的登录页面内的电子邮件公告。
我在 models.py 中创建了名为“registrado”的模型(只有一个表),但是当我运行服务器时,它说没有名为“registrado”的表,但是...实际上是因为我在模型中编写了它.py 不知道为什么会出现这个错误
models.py的代码是这样的
from __future__ import unicode_literals
from django.db import models
class registrado(models.Model):
nombre = models.CharField(max_length = 120, blank = True, null = True)
email = models.EmailField()
codigo_postal = models.IntegerField()
timestamp = models.DateTimeField(auto_now_add = True, auto_now = False)
actualizado = models.DateTimeField(auto_now_add = False, auto_now = True)
def __unicode__ (self):
return self.email
然后我修改 INSTALLED APPS 中的 settings.py 文件,将应用名称放在列表末尾
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'boletin',
]
最后,在 admin.py 中注册应用程序
from django.contrib import admin
# Register your models here.
from .models import registrado
class Adminregistrado(admin.ModelAdmin):
list_display = ["__unicode__", "nombre", "timestamp"]
class Meta:
model = registrado
admin.site.register(registrado, Adminregistrado)
抱歉发了这么长的帖子,感谢您的帮助:/
【问题讨论】:
-
表名的前缀为
app。因此,对于您的情况,完整的表名将是boletin_registrado而不是registrado,建议您使用manage.py makemigration和manage.py migrate来同步数据库。
标签: python django database model server