我有一个应用程序,利用Django的UserProfile
来扩展内置的Django User
模型。看起来有点像:Django管理:订购的ForeignKey和ManyToManyField关系引用用户
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
# Local Stuff
image_url_s = models.CharField(max_length=128, blank=True)
image_url_m = models.CharField(max_length=128, blank=True)
# Admin
class Admin: pass
我添加了一个新的类来我的模型:
class Team(models.Model):
name = models.CharField(max_length=128)
manager = models.ForeignKey(User, related_name='manager')
members = models.ManyToManyField(User, blank=True)
而且它注册到管理:
class TeamAdmin(admin.ModelAdmin):
list_display = ('name', 'manager')
admin.site.register(Team, TeamAdmin)
唉,在管理inteface ,当我从下拉框中选择经理时,或者通过多选字段设置团队成员时,它们将按照用户数字ID进行排序。对于我的生活,我无法弄清楚如何得到这些排序。
我有一个类似的类:
class Meta:
ordering = ['name']
这伟大工程!但我不 “拥有” User
类,当我尝试这一招在UserAdmin
:
class Meta:
ordering = ['username']
我得到:
django.core.management.base.CommandError: One or more models did not validate:
events.userprofile: "ordering" refers to "username", a field that doesn't exist.
user.username
也不起作用。如果我愿意,我可以指定,如image_url_s
。 。 。我如何通过username
告诉管理员对我的用户列表进行分类?谢谢!
谢谢,丹尼尔! – dannyman 2009-09-28 19:47:09
由于django 1.8,你还需要在'Class Meta'里面的'fields ='__all __''。 – Flash 2017-04-24 12:25:00