2
モデルフィールド、つまりmodule_name
をdjangoのユーザプロファイル編集ページで読み取り専用として表示したいとします。モデルCategory
はProfile
モデルとmanytomany
の関係にあります。例えばのためのモデルフィールドをDjangoの管理者に表示する
id profile_id category_id
1 2 1
ので
profile_category
id category_name module_name
1 A X
2 B Y
Category
。私は2
のユーザIDを編集するには、管理ページの午前とき、私はカテゴリID 1
は、ユーザID 2
models.py
class Category(models.Model):
category_name = models.CharField(max_length=150, blank=False, null=True, default="", unique=True)
module_name = models.TextField(blank=False, null=True)
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name ='profile')
phone_number = PhoneNumberField(blank=True, null=True)
organisation = models.CharField(max_length=30, blank=True)
category = models.ManyToManyField(Category)
admin.py
X
を表示したいと思います
class ProfileInline(admin.StackedInline):
model = Profile
filter_horizontal = ('category',)
class CustomUserAdmin(UserAdmin):
inlines = (ProfileInline,)
list_select_related = ('profile', )
これが可能かどうかをご提案ください。
ご協力いただきありがとうございます。前もって感謝します。
多くのお客様に感謝します。 'Profile'クラスの内部でモジュール名を取得するのに苦労します。私はprofile_category&カテゴリテーブルから値を取得しようとしています。クエリーは 'category、profile_categoryからselect module_nameにする必要があります。ここでprofile_category.profile_id = 2、category.id = profile_category.category_id' –
解決しました。ご協力いただき誠にありがとうございます。 –