用户的订单选择

时间:2019-10-26 15:37:49

标签: django

我想按用户的字母顺序在表单上对选择域进行排序

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发出

谢谢!

1 个答案:

答案 0 :(得分:1)

根据我之前的评论发布实际答案:

您需要为用户设置所需字段的顺序,即代替

...order_by('user')

尝试使用双下划线设置属性,即

...order_by('user__username')