python - blog.Post : (models. E014) 'ordering' 必须是元组或列表(即使您只想按一个字段排序)。在 Django

标签 python django django-models tuples database-migration

我正在为我的 Django 博客应用程序制作模型。但是在运行 python manage.py makemigrations blog 时,我收到此错误消息:

SystemCheckError: System check identified some issues:

ERRORS:
blog.Post: (models.E014) 'ordering' must be a tuple or list (even if you want to order by only one field).

这是我的 models.py 文件:

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User

class Post(models.Model):
    STATUS_CHOICES = (
        ('draft','Draft'),
        ('published','Published')
    )
    title = models.CharField(max_length=250)
    slug = models.SlugField(max_length=250,unique_for_date='publish')
    author = models.ForeignKey(User,on_delete=models.CASCADE,related_name='blog_posts')
    body = models.TextField()
    publish = models.DateTimeField(default=timezone.now)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    status = models.CharField(max_length=10,choices=STATUS_CHOICES,default='draft')

    class Meta:
        ordering = ('-publish')

    def __str__(self):
        return self.title

错误说我的顺序应该是列表或元组。但它已经是。 我无法理解这个错误。有人可以帮帮我吗?提前致谢

最佳答案

试试这个:

ordering = ('-publish',)

关于python - blog.Post : (models. E014) 'ordering' 必须是元组或列表(即使您只想按一个字段排序)。在 Django ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64606330/

相关文章:

sql - 使用分组在 Django 中有条件地批量更新

python - Pandas 列表的列操作

python - 将搜索方法转换为搜索字符串列表

django - 为什么 Django/Django REST Framework 不深入验证 CSRF token ,即使使用 enforce-CSRF?

python - Django - 仅从 datetime.strptime 获取日期

django - 使用 Django QuerySet 分块处理数据库的最佳方法?

python - Django 中的 URLField() 可以加载本地主机路径吗?

python - 如何突出显示特定的 x 值范围

python - 在 Shady 中呈现预先准备好的图像阵列的一部分

mysql - 如何合并 django 中的两个查询并选择与两个不相关的表不同的查询