har*_*oba 17 python django django-admin
我有以下型号:
class UserProfile(models.Model):
user = models.OneToOneField(User)
class Property(models.Model):
user = models.ForeignKey(User)
Run Code Online (Sandbox Code Playgroud)
我想创建一个TabularInline显示连接到UserProfile其Django管理页面上的特定属性的每个属性.这里的问题当然是Property没有ForeignKey直接的UserProfile,所以我不能简单地写
class PropertyTabularInline(admin.TabularInline):
model = Property
class UserProfileAdmin(admin.ModelAdmin):
inlines = (PropertyTabularInline,)
Run Code Online (Sandbox Code Playgroud)
我怎样才能轻松做到我想要的?
您可以覆盖用户管理页面以显示Profile和Property模型。
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from myapp.models import *
class ProfileInline(admin.TabularInline):
model = Profile
class PropertyInline(admin.TabularInline):
model = Property
class UserAdmin(UserAdmin):
inlines = (ProfileInline, PropertyInline,)
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
Run Code Online (Sandbox Code Playgroud)
您还可以删除显示的任何不需要/未使用的用户属性(例如组或权限)
更多信息: https: //docs.djangoproject.com/en/1.8/topics/auth/customizing/#extending-the-existing-user-model
在这里: https: //docs.djangoproject.com/en/1.8/topics/auth/customizing/#a-full-example
| 归档时间: |
|
| 查看次数: |
942 次 |
| 最近记录: |