Python Django日期排序错误DRF

Python Django日期排序错误DRF,python,django,date,django-rest-framework,Python,Django,Date,Django Rest Framework,我有一个django模型- class CompanyForLineCharts(models.Model): company = models.TextField(null=True) class LineChartData(models.Model): foundation = models.ForeignKey(CompanyForLineCharts, null=True) date = models.DateField(auto_now_add=False) pric

我有一个django模型-

class CompanyForLineCharts(models.Model):
  company = models.TextField(null=True)

class LineChartData(models.Model):
  foundation = models.ForeignKey(CompanyForLineCharts, null=True)
  date = models.DateField(auto_now_add=False)
  price = models.FloatField(null=True)
以及这些模型的视图-

arr = []
for i in range(len(entereddate)):
  date = entereddate[i]
  if entereddate[i] in dates:
    foundat = (dates.index(entereddate[i]))
  allprices = Endday.objects.raw("SELECT id, eop FROM drf_endday where company=%s", [comp[i]])
  allendofdayprices = ''
  for a in allprices:
    allendofdayprices=(a.eop)
    tempprices = allendofdayprices.split(',')
    stringprices = tempprices[foundat:]
    finald = dates[foundat:]
    finalp = []
    for t in range(len(stringprices)):
      finalp.append(float(re.sub(r'[^0-9.]', '', stringprices[t])))
      company = CompanyForLineCharts.objects.get(company=comp[i])
    for j in range(len(finalp)):
      arr.append(
         LineChartData(
           foundation = company,
           date = finald[j],
           price = finalp[j]
         )
      )
LineChartData.objects.bulk_create(arr)
其中,
entereddate
是用户输入的日期(日期对象)列表,
dates
是一个大的日期列表(也是日期对象,按时间顺序排列),而
temprices
是与
日期
列表相对应的价格列表

我已经为这些设置了序列化程序-

class LineChartDataSerializer(serializers.ModelSerializer):
  class Meta:
    model = LineChartData
    fields = ('date','price')

class CompanyForLineChartsSerializer(serializers.ModelSerializer):
 data = LineChartDataSerializer(many=True, source='linechartdata_set')
   class Meta:
   model = CompanyForLineCharts
   fields = ('company', 'data')
如您所见,
LineChartData
模型通过
foundation
CompanyForLineCharts
模型相关联

现在我面临的问题是,当drf序列化这些字段时,日期的顺序会混乱

所以我也试过了-

  • 在视图中-

    xy=zip(finald,finalp)
    排序=已排序(xy)
    finald=[x[0]表示排序中的x]
    finalp=[x[1]表示排序中的x]
    

    嗯,这并没有改变序列化输出的顺序

  • 所以我试着订购序列化程序-

    order_by=(('date',))
    订购=['-日期']


他们都没有成功。现在该怎么办?

@编辑我很抱歉,但它不应该更改任何内容。我刚刚检查了文档,添加的
auto\u now\u和
auto\u now
的默认值都是
False


DateField(auto\u now\u add=False)
->
DateField(auto\u now\u add=False,auto\u now=False)
应该可以解决您的问题。
如果
auto\u now
为true,则每次调用
.save()
方法时,它都会设置日期<代码>自动\u立即\u添加
在调用构造函数时执行相同操作。
auto\u now
在需要上次修改日期时使用,而
auto\u now\u add
在需要创建日期时使用。

您没有任何上述原因,因此您需要将两个参数设置为
False

@edit对不起,但它不应该更改任何内容。我刚刚检查了文档,
auto\u now\u add
auto\u now
的默认值都是
False


DateField(auto\u now\u add=False)
->
DateField(auto\u now\u add=False,auto\u now=False)
应该可以解决您的问题。
如果
auto\u now
为true,则每次调用
.save()
方法时,它都会设置日期<代码>自动\u立即\u添加在调用构造函数时执行相同操作。
auto\u now
在需要上次修改日期时使用,而
auto\u now\u add
在需要创建日期时使用。

您没有任何上述原因,因此需要将两个参数设置为
False

不,没有这样做。不,没有这样做。