【问题标题】:Django Meta Class - Apply Ordering to user's model fieldDjango Meta Class - 将排序应用于用户的模型字段
【发布时间】:2017-10-15 15:17:21
【问题描述】:

我是 Django 1.9 的新手,我有一个 models.py :

class MyProfile(models.Model):

    user = models.OneToOneField(User, on_delete=models.CASCADE)
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    Role = ArrayField(models.CharField(max_length=1000), blank=True,null=True)
    ContactNumber = models.CharField(max_length=100)

    class Meta:
        ordering = ('date_joined',)

在这里,我想使用date_joined 订购表格,这是User model 的字段。

当我尝试运行 python manage.py makemigrations 时,它给了我如下错误:

SystemCheckError: System check identified some issues:

ERRORS:
projectmanagement.UniservedTeam: (models.E015) 'ordering' refers to the non-existent field 'date_joined'.

我如何做到这一点?

【问题讨论】:

    标签: python-2.7 django-models django-rest-framework


    【解决方案1】:

    在通用 api 视图上设置排序:

    http://www.django-rest-framework.org/api-guide/filtering/#orderingfilter

    使用:ordering = ('user__date_joined', )

    编辑:

    您可以像这样在元类上指定排序:

    class Meta:
        ordering = ('user__date_joined', )
    

    【讨论】:

    • 抱歉,我想在模型内订购。
    • AttributeError: type object 'user' has no attribute 'date_joined'
    • 工作,谢谢!!
    • 太棒了!很高兴能帮上忙:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    相关资源
    最近更新 更多