【发布时间】:2015-10-04 00:26:53
【问题描述】:
我需要待定用户(在上图中)在用户中显示相同的数据,即。 添加用户时,也应添加到待处理用户中。
这是我的 models.py:
from django.db import models
from django.contrib.auth.models import User
class PendingUser(models.Model):
user = models.ForeignKey(User)
我尝试在 pending app 的 admin.py 中添加这个: 但它不起作用
from django.contrib import admin
from django.contrib.admin.sites import AdminSite, site
from pending.models import PendingUser
from django.contrib.auth.models import User
class PendingUserAdmin(admin.ModelAdmin):
list_display = ('username', 'email', 'first_name', 'last_name', )
def username(self, request):
return User.objects.get('username')
def email(self, request):
return User.objects.get('email')
def first_name(self, request):
return User.objects.get('first_name')
def last_name(self, request):
return User.objects.get('last_name')
admin.site.register(PendingUser, PendingUserAdmin)
当我尝试进行迁移时,出现此错误:You are trying to add a non-nullable field 'user' to pendinguser without a default; we can't do that (the database needs
something to populate existing rows).
怎么了?有没有其他方法可以做到这一点?
【问题讨论】:
-
1.我会说这个错误很清楚:您需要某种默认值来为现有行放入用户列。当然,如果您不关心数据,则可以在迁移之前删除全部数据。 2. admin 类中的所有方法都是完全废话,你应该完全删除它们。
标签: python django django-admin models