最近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
基本的に私が達成したいのは、管理者に表示される#1StackedInLineを取り除くことです。TabularInLineの代わりにStackedInLineを使用する理由は、それ以外の場合は「削除」を取得するためです。右側の列と私はそれがオプションであると思うので、それを除外するか、StackedInLineの#1の番号を削除したいと思います。
2
また。admin.pyにUserProfilemodels.pyファイルをロードしたときにフィールドセットを使用できないのはなぜですか。それは単にフィールドが存在しないことを示しています。動作を確認したdjango/contrib / auth / admin.pyとは異なる方法でフィールドを呼び出す必要がありますか?
これを行うより効率的な方法があると思われる場合は、教えてください。