gpt4 book ai didi

python - Django 管理员 : Ordering of ForeignKey and ManyToManyField relations referencing User

转载 作者:IT老高 更新时间:2023-10-28 20:56:53 25 4
gpt4 key购买 nike

我有一个应用程序,它使用 Django 的 UserProfile 来扩展内置的 Django User 模型。有点像:

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)

并且它被注册到Admin中:

class TeamAdmin(admin.ModelAdmin):
list_display = ('name', 'manager')

admin.site.register(Team, TeamAdmin)

唉,在管理界面中,当我从下拉框中选择经理或通过多选字段设置团队成员时,它们是按用户数字 ID 排序的。对于我的生活,我无法弄清楚如何对这些进行排序。

我有一个类似的类(class):

class Meta:
ordering = ['name']

效果很好!但我不“拥有” User 类,当我在 UserAdmin 中尝试这个技巧时:

class Meta:
ordering = ['username']

我明白了:

django.core.management.base.CommandError:一个或多个模型没有验证:events.userprofile:“ordering”指的是“username”,不存在的字段。

user.username 也不起作用。如果我愿意,我可以指定,例如 image_url_s。 . .如何告诉管理员按 username 对我的用户列表进行排序?谢谢!

最佳答案

这个

class Meta:
ordering = ['username']

应该是

    ordering = ['user__username']

如果它在您的 UserProfile 管理类中。这将停止异常,但我认为它对您没有帮助。

按照您的描述订购 User 模型非常棘手,但请参阅 http://code.djangoproject.com/ticket/6089#comment:8寻求解决方案。

关于python - Django 管理员 : Ordering of ForeignKey and ManyToManyField relations referencing User,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1474135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com