2024-03-29 10:20:43 发布
网友
技能\注意\声誉是配置文件模型中与Profileuser具有1:1关系的字段
如何根据技能\注意\声誉值对用户模型进行排序
user_list = User.objects.all ()
谢谢你让我知道如何修理它
如果将parent_link=True键添加到OneToOneField,则可以引用Profileuser中的字段,就像它们属于User模型一样
parent_link=True
OneToOneField
Profileuser
User
例如:
class Profileuser(models.Model): user = models.OneToOneField( User, on_delete=models.CASCADE, related_name='profileuser', parent_link=True) skill_note_reputation = models.IntegerField()
现在,您可以像这样过滤User模型:
User.objects.filter(skill_note_reputation=1)
对于一种更具pythonic的方法,您可以利用Django的model inheritance,并将您的Profileuser模型转换为:
class Profileuser(User): skill_note_reputation = models.IntegerField()
请注意,此模型与上述模型相同
如果出于某种原因不想使用parent_link=True,可以使用Django的LOOKUP_SEP引用任何ForeignKey列,如下所示:
LOOKUP_SEP
ForeignKey
User.objects.filter(profileuser__skill_note_reputation=1)
如果将
parent_link=True
键添加到OneToOneField
,则可以引用Profileuser
中的字段,就像它们属于User
模型一样例如:
现在,您可以像这样过滤
User
模型:对于一种更具pythonic的方法,您可以利用Django的model inheritance,并将您的
Profileuser
模型转换为:请注意,此模型与上述模型相同
如果出于某种原因不想使用
parent_link=True
,可以使用Django的LOOKUP_SEP
引用任何ForeignKey
列,如下所示:相关问题 更多 >
编程相关推荐