我需要待定用户(如上图所示)在用户中显示相同的数据,即。 添加用户时,也应在待处理用户中添加。
这是我的 models.py:
from django.db import models
from django.contrib.auth.models import User
class PendingUser(models.Model):
user = models.ForeignKey(User)
我尝试在待处理应用的 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)
当我尝试makemigrations时,会发生以下错误: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).
怎么了?还有另一种方法吗?
答案 0 :(得分:0)
有很多错误。 PendingUser和User彼此无关。
PendingUser
与User(django.contrib.auth.models.Users)无关。request.id
)。此部分user__id
不是正确的方法,您只是根据ID过滤用户。正确的方法是User.objects.get(id=some_id)