【发布时间】:2009-09-07 20:22:45
【问题描述】:
我最近使用 UserProfile 进行了扩展,所以我的 admin.py 看起来像这样:
from django.contrib import admin
from django.contrib.auth.models import User
from models import UserProfile
from django.contrib.auth.admin import UserAdmin
admin.site.unregister(User)
class UserProfileInline(admin.StackedInline):
model = UserProfile
class UserProfileAdmin(UserAdmin):
# fieldsets = [
# (None, {'fields': ['image']}),
# ('Avatar', {'fields': ['text'], 'classes': ['collapse']}),
# ]
inlines = (UserProfileInline,)
admin.site.register(User, UserProfileAdmin)
和models.py是这样的:
from django.db import models
from django.contrib.auth.models import User
class UserProfile(models.Model):
# Required
user = models.ForeignKey(User, unique=True)
image = models.ImageField(upload_to='media/users/', blank=True, help_text="Your face")
text = models.TextField(blank=True, help_text="Write something about yourself")
In an app called users that is referred to by settings.py with:
AUTH_PROFILE_MODULE = users.UserProfile
1
基本上我想要实现的是摆脱#1 StackedInLine 显示在管理员中。我使用 StackedInLine 而不是 TabularInLine 是因为否则我会得到“删除?”列到 对,我发现它是可选的,所以我想排除它或 去掉 StackedInLine 中的 #1 编号。
2
还有。我想知道为什么我在加载时不能使用字段集 admin.py 中的 UserProfile models.py 文件。它只是说领域 不存在。我是否必须以不同于 django/ 的方式调用这些字段 contrib/auth/admin.py 我在哪里看到过它的工作原理?
如果您觉得有更有效的方法,请告诉我。
【问题讨论】:
-
查看我删除#1的编辑
标签: django tabular inlines stacked