我想按用户的字母顺序在表单上对选择域进行排序
models.py
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
busname = models.CharField(max_length=60)
forms.py
self.fields['user'].choices = tuple([(t.user.id, t) for t in UserProfile.objects.all().order_by('user')])
不幸的是,这不起作用。订单由user.id发出
谢谢!
答案 0 :(得分:1)
根据我之前的评论发布实际答案:
您需要为用户设置所需字段的顺序,即代替
...order_by('user')
尝试使用双下划线设置属性,即
...order_by('user__username')