5
おはようございます、Djangoでユーザープロフィールを拡張しています。ユーザーの管理者の作成
私は現在Djangoでサイトを作成しており、ユーザープロファイルを使用してユーザーを拡張しました。私は少し問題がある。ここに私の状況です:
- 私はカスタムフィールドを追加するためにユーザープロファイルを拡張しました。
- モデルをUser Admin Modelに追加したので、ユーザーを追加するときに、フィールドを直接入力してプロファイルを作成することができます。
- これらの新しいカスタムユーザフィールドに何も追加しないと、ユーザ追加ページで、Django Adminはこれらのフィールドがnullであるとエラーメッセージを表示しません。
- この「ユーザー管理者の追加」ページでエラーが表示されるので、管理者は新しいユーザーを追加するときにプロファイルを入力する必要があります。
- すべてのユーザーが管理パネルに追加されます。
これは可能ですか?どうもありがとう!デフォルトで
admin.pyで
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as DjangoUserAdmin
from django.contrib.auth.models import User
from accounts.models import UserProfile
class UserProfileInline(admin.TabularInline):
model = UserProfile
class UserAdmin(DjangoUserAdmin):
inlines = [ UserProfileInline,]
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
model.pyで
class UserProfile(models.Model):
user = models.OneToOneField(User)
employee_number = models.PositiveIntegerField(unique=True)
def __unicode__(self):
return 'Number'
ニースは機能しました。コードが何をしているのか少し説明してもらえますか?特にクラスメタ:パート!ありがとうございます。 – abisson
また、フィールドのうちの1つだけをempty_permitted = falseにしたい場合、構文はどうなりますか?残りの部分は真実ですか? – abisson
@abisson 'empty_permitted'は' BaseForm'が受け入れる文書化されていないパラメータです:送信されたフォームが初期データから変更されておらず、 'empty_permitted'が' True'なら、フォームの 'full_clean()'は実行しませんそれ以上の検証。 'django/forms/forms.py'と' django/forms/formsets.py'で 'empty_permitted'をチェックできます。フィールドの1つを空にしたくない場合は、フォームの 'empty_permitted = True'と他のフィールドの' blank = True'を設定しようとすることができます。 – okm