我使用module.py中的新字段扩展了User模块。
class Coach(models.Model):
user = models.OneToOneField(User);
address=models.CharField(max_length=100);
address2=models.CharField(max_length=100);
zip= models.CharField(max_length=5);
city= models.CharField(max_length=100);
canton= models.CharField(max_length=50);
country= models.CharField(max_length=50);
prefix=models.CharField(max_length=5);
telephone=models.CharField(max_length=30);
language=models.CharField(max_length=20);
def __unicode__(self):
return self.user.username
def create_user_profile(sender, instance, created, **kwargs):
if created:
Coach.objects.create(user=instance)
post_save.connect(create_user_profile, sender=User)
我添加了这个来连接用户模型和admin.py中的新字段:
class UserProfileInline(admin.StackedInline):
model = Coach
can_delete = False
verbose_name_plural = 'profile'
# Define a new User admin
class UserAdmin(UserAdmin):
inlines =[ UserProfileInline, ]
# Re-register UserAdmin
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
我的问题是管理员用户模型中显示的字段的顺序。下图显示了当前状态,组('profile')新添加的字段位于页面顶部第一张图片: http://www.dodaj.rs/f/1v/3c/1brWQwyO/change-order.png
这就是我想要的: http://www.dodaj.rs/f/3f/10J/25qz2FSW/change-order2.jpg
答案 0 :(得分:0)
class UserAdmin(UserAdmin):
fieldsets = (
('', {
'fields': ('password', 'last_login', 'groups', 'more_fields...',),
}),
)
inlines =[ UserProfileInline, ]
答案 1 :(得分:0)
感谢您的回答。
我找到了一种方法,我只是修改模板。默认情况下,admin / template / change_form.html命令显示inline_field_sets中的第一个字段,然后是field_sets。
我刚刚更改了顺序,我已经设置为首先渲染field_sets,然后是inline_field_sets。
<intercept-url pattern="/login*" access="permitAll" />
<intercept-url pattern="/**" access="isAuthenticated()" />