'ordering'必须是元组或列表(即使您只想按一个字段排序)


class Product(models.Model):

publishDate = models.DateTimeField(max_length=20,default=timezone.now,verbose_name='time')
views = models.PositiveIntegerField('view', default=0)



class Meta:
verbose_name = 're'
verbose_name_plural = 're'
ordering = ('-publishDate',)   

它说:

'ordering'必须是一个元组或列表(即使你只想按一个字段排序)。

只管做

订购= ["-publishDate"]

更多信息请访问https://docs.djangoproject.com/en/4.2/ref/models/options/

我不确定,但这是我的代码,运行良好

class Product(models.Model):
category = models.ManyToManyField("home.Category", related_name='product')
name = models.CharField( max_length=200)
slug = models.SlugField(max_length=200, unique=True)
image = models.ImageField()
description = models.TextField()
price = models.IntegerField()
available = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
class Meta:
ordering = ('name',)

顺便说一句,我建议这样使用:

publishDate = models.DateTimeField(auto_now_add=True,verbose_name='time')

'auto_now_add':当对象第一次创建时自动将字段设置为now

相关内容

最新更新