由于你们的帮助,我想出了如何将UserProfile信息显示在我的管理员字段中。现在我想想出一种正确排序这些字段的方法。我很亲密。
class EmployerProfileAdmin(UserAdmin):
inlines = [EmployerProfileInline, ]
def company(self):
return self.get_profile().company
company.admin_order_field = 'employerprofile'
list_display = ('username','first_name','last_name',company,'email','password',)
这让我从我的UserProfile(EmployerProfile)中对公司字段进行排序,但我必须根据用户中的字段对其进行排序。用户有'雇主资料',但这是一个完整的对象。 django如何知道如何对该领域进行排序?是否可以在EmployerProfile类中覆盖它?
谢谢!
答案 0 :(得分:1)
正如Honza所说,你想要点什么?
通常,管理员更改列表页面中的顺序将遵循模型的默认顺序,或者可以由ModelAdmin.ordering指定为列表或元组。
答案 1 :(得分:1)
也许您可以尝试使用model__field方法? 正如其他人所说,我们不知道整个问题,但
class Meta:
ordering = [ "user__fieldname" ]
可能有效(未经测试)。如果您有一个“user”字段,它是ForeignKey,并且字段名存在于外部模型中。
类似于:
class User( object ):
fieldname = models.CharField( max_length = 255 )
class Profile( object )
class Meta:
ordering = [ "user__fieldname" ]
user = models.ForeignKey( User )