Django更新模型打破了管理员

时间:2017-10-05 22:57:00

标签: python django

我更新了名为Account的模型类。我删除了一个名为" user"

的字段

删除了这一行:

user = models.ForeignKey(User, unique=True)

然后我成功运行了 makemigration ,然后迁移

当我转到: http://127.0.0.1:8000/admin/reports/account/

我收到以下错误消息:

  

帐户'对象没有属性'用户'

我的问题是,在对模型/迁移进行结构更改时,如何轻松更新管理代码?

我的admin.py看起来像这样:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from .models import Account
from .models import Report

from django.contrib import admin

# Register your models here.

admin.site.register(Account)
admin.site.register(Report)

2 个答案:

答案 0 :(得分:1)

这是一个位复杂过程。

更简单的方法是,如果您没有任何重要数据并且您只处于开发阶段,只需删除您的数据库,然后尝试makemigrations并进行迁移。

它会正常工作。

答案 1 :(得分:0)

好吧,您可能忘记在某处移除user引用,可能在admin.py中。如果你去那里,应该有这样的东西(如果没有,发布你的):

@admin.register(Account)
class AccountAdmin(admin.ModelAdmin):

    list_display = ('user', ...)

只需从那里删除user即可。